From nobody Sat Nov 15 22:35:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1746111551; cv=none; d=zohomail.com; s=zohoarc; b=Ro8VOHQl9kl6XYYCenaCLEjf+G1Si497jgJ9WZsOsSOVJiyKSE8UzZZWvimF+ZRJbdBy4erXtpHHTsauUyXzfEgBFCUW2adPIprcIe5jPfl3y/zyoY7Df6GsBeN3qpKMcc57+zYqkGPoEChrYBb+hODEQZK6eHQ+z2XEG5o6Azw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746111551; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=fbSBsMP5ixQP3674lJZfsVNkGgJPNW/j+NTvOfGTPO8=; b=CqNr5IM22O7EcAUrpf+ycY0+KcB8eT/cJbga7BULDUSY+W9yJv7myFBXmywYCpIqbP5/YRZySyzdMIGRVR8/3cSIrw38r5uuU6j/MFusBidoT2plejyI1P/+Gc90KE6417kU0w38evmhrQyJYmXp86oryvfmg/QtuFLVJK7WvAs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1746111551231832.0503335164843; Thu, 1 May 2025 07:59:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uAVJx-0005fk-HV; Thu, 01 May 2025 10:55: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 1uAVJt-0005dY-OW for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:25 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uAVJr-0005QO-TJ for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:25 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-227cf12df27so10357255ad.0 for ; Thu, 01 May 2025 07:55:23 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e0bb0e770sm7644415ad.92.2025.05.01.07.55.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:55:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746111322; x=1746716122; 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=fbSBsMP5ixQP3674lJZfsVNkGgJPNW/j+NTvOfGTPO8=; b=SUgcmnhlSkXBq8JqcHWLBF74yhCwrbWiuPqWxyRjpFW/LgtIppscuvzg9MIqZ1VdYh ftNEVuRJu+ri6YRHgdSNJyMZwZPyE8UnqDz8prkthIsSFsDM6P5C/9Ro/vdoklTJmxI2 LzhruBClTdbs2fBtBO6TLpTXCgcIk2k8NnckVvqom6QxY82YW6GKHJ+fEaD8SdJAbTax nvVZEN1HxVGt4bz4fXMsRfsoTEbU0AcbK/IJVhyK88IiBY7+KzF/UUBrDB/iFF47VN8K G5g/G75SfiBhfc104AosglJtdZwqIqULT4k+a6BPrDXfXlpFD18AGJo/AzDWVLNHJxca 7ENQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746111322; x=1746716122; 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=fbSBsMP5ixQP3674lJZfsVNkGgJPNW/j+NTvOfGTPO8=; b=QzoDf+1qkxJu9cMLkA1qgOuN/7DrLbdNOA4d/6pxAjtFfEbUwrzs5SrwjzTLIGhVfo IRh+pJMPBx/YFcXdSzKPvMRpEERiUz5ZsDhm+0VAAAwnVdPPrhq2g9QXla32+K0JFQDD XdJYvkVL6t3s98XgakLF7uWl454ZGkDs01BQOtqggGsUThvHkM65njPYChfJHZzp2RSz /cbub1BWhUxZEfC/367RR8/617AAMai0cREafOGfh2JXq9MWJJQG/NbzNB0+DEUCotbK gUhUfJPMfU79GA6/i6sAtZHdJnFJq0sIwOfo3RXmlDVXojyRFJFNQuk2xk8aeiHN+J8n fRCg== X-Gm-Message-State: AOJu0YwQ8fY/spU+ZBtX+iCWc9dZxhgZZrsJkKZZeKgxbVmHaVo4pFXg 5ZfmcC20Zaic4UILLdaKiJM/laT0nOdmd+0r7VGYVA21q6nfgk80lFjuoRokc/5n/q3LlvwS+hR W X-Gm-Gg: ASbGnctkp/UuSm/JRXVADJSAaCWGmHxdeksGD0VHMFlpix5Tc7lgay7Qgyrb0cG1nQR 5x/pmfttdRYumzB7ysvW4QdcDU9eavKkvx8sq2e3dCZuZoE1t5WeXOb9QQ8/vwFN0FKvyrG4INU qlXS+oV6lsBcaAfqPnWe+YyssR4oUT6yT88tCJql2Tbh+y9QawV6L7imolixTJy4VUIbp+ABx4y fVQr0fVdUZKv2kQ8Sw+VL6qay4F/BFTE3n8OImN9QEUYzvPSlfpnqrVEOzRaVFxOo5yZbyvSlca nyswyk+qmPZlX7Ucce5IASiOJoqH5Yyn2G4EzxE3Lhtv75cW5D/BaxCnEAlWyuZZqEQY4pJPv3T i2GfHW3dpOg== X-Google-Smtp-Source: AGHT+IFjhSGLnaDlUMbdpt1X3OyrArpYGOQ6OVgKKEsA3oVGq80nIkCBhU6+sCWg5KJmlMSislf7Zw== X-Received: by 2002:a17:902:ef03:b0:223:3394:3a2e with SMTP id d9443c01a7336-22e087f7e2cmr41450325ad.18.1746111321982; Thu, 01 May 2025 07:55:21 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 01/11] accel/tcg: Move user-only tlb_vaddr_to_host out of line Date: Thu, 1 May 2025 07:55:09 -0700 Message-ID: <20250501145520.2695073-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250501145520.2695073-1-richard.henderson@linaro.org> References: <20250501145520.2695073-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1746111553405019000 Content-Type: text/plain; charset="utf-8" At the same time, fix a mis-match between user and system by using vaddr not abi_ptr for the address parameter. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- include/accel/tcg/cpu-ldst.h | 8 -------- accel/tcg/user-exec.c | 6 ++++++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/include/accel/tcg/cpu-ldst.h b/include/accel/tcg/cpu-ldst.h index 44a62b54da..00e6419e13 100644 --- a/include/accel/tcg/cpu-ldst.h +++ b/include/accel/tcg/cpu-ldst.h @@ -515,15 +515,7 @@ static inline uint64_t cpu_ldq_code(CPUArchState *env,= abi_ptr addr) * Otherwise (TLB entry is for an I/O access, guest software * TLB fill required, etc) return NULL. */ -#ifdef CONFIG_USER_ONLY -static inline void *tlb_vaddr_to_host(CPUArchState *env, abi_ptr addr, - MMUAccessType access_type, int mmu_i= dx) -{ - return g2h(env_cpu(env), addr); -} -#else void *tlb_vaddr_to_host(CPUArchState *env, vaddr addr, MMUAccessType access_type, int mmu_idx); -#endif =20 #endif /* ACCEL_TCG_CPU_LDST_H */ diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c index e1f4c4eacf..adc5296ba5 100644 --- a/accel/tcg/user-exec.c +++ b/accel/tcg/user-exec.c @@ -850,6 +850,12 @@ void *probe_access(CPUArchState *env, vaddr addr, int = size, return size ? g2h(env_cpu(env), addr) : NULL; } =20 +void *tlb_vaddr_to_host(CPUArchState *env, vaddr addr, + MMUAccessType access_type, int mmu_idx) +{ + return g2h(env_cpu(env), addr); +} + tb_page_addr_t get_page_addr_code_hostp(CPUArchState *env, vaddr addr, void **hostp) { --=20 2.43.0 From nobody Sat Nov 15 22:35:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1746111379; cv=none; d=zohomail.com; s=zohoarc; b=Sx/666D8sApQfnbD/9o2BGXodQA7vGNlA6OMNdJgZS6QbrU1Fy12g5X/xT/p1aC1ZaC9WTC+F4CHz/4S8/sW5I59gLhW6nUQ3w2XIWc/BRNFZNC0h21X5vytmHfPGG9amlCRDK3z+Zcy7n42H6oo6MH2DIPdj3y8HDcjPnRYtmY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746111379; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=OKdlxq7vj1lY48Y8P5jMGdkGRsWPnW4o2KqIcZOb+Nc=; b=ZwWGjk1PubkkTedtznlUdUnz4U+/DQ9RkiUYkykFFha2o2sES+j3seOWsQJ1180eiosdcjfVetZuAGK37K1M/7vHWxLGZmrFclcAb19HAaTABm5Fg/xYEpH5H8aky4b/R5jpehVTr+hBmCdFzp7/H7uiIa1vUcow/v+5ziBqhho= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1746111379024304.3960113062941; Thu, 1 May 2025 07:56:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uAVJz-0005gx-9p; Thu, 01 May 2025 10:55:31 -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 1uAVJu-0005dl-Vh for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:26 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uAVJs-0005QT-7V for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:26 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-227d6b530d8so11603785ad.3 for ; Thu, 01 May 2025 07:55:23 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e0bb0e770sm7644415ad.92.2025.05.01.07.55.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:55:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746111323; x=1746716123; 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=OKdlxq7vj1lY48Y8P5jMGdkGRsWPnW4o2KqIcZOb+Nc=; b=RcgL596hjSV5/UwMA8/wNWmsmW6ELIIDddfsNbHcidtKB2LagEcrb7owpslz8fZSbL r2WMCK2uPbJlfct68Jy/w7hRlunjf+/0hGV29y+9Dpp1nGZLX2YFfh/9sTIuiB/OI0fD EYE70xg++60c0dzhdWEanuBKhnbk6juEwdPk8oG+gNxo/G65hts9MfNaG1idO19JuMIM 74g2D21Qc/6ehh8XwxOYQaBEHP8Zo/0MhMaUM8aSmErtARlNOtY9/5AruWnVnEIKGUJa GZoGVIS7lxM+++nNzeIpsEnUtS8gZrZgBP5dQYEqRYSrCjb38AwLjm8KCIavALY3HH2x Aq0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746111323; x=1746716123; 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=OKdlxq7vj1lY48Y8P5jMGdkGRsWPnW4o2KqIcZOb+Nc=; b=l3nJKVdekMnsFplMTgpQ1zcDs06ZgkoKiChGVar0g6OFMeWYyEWlWWZYlrD0k17NEx Ip9k93Kx2X32QqNdrPsiw1ziuswMjh2TgCQythWrwDCNwetctbWCSIVXAudsqSfJpJ+E Pk6jA0uLW36G2SVeSxZeaZWkb4eq9oN2IcEB2o0HhAziqoWfsHq/fb3SbCI7JiVEu7Qy sQxHAPe5vJBPZiJ3ITNTgQfBy8qi+KNQDjweTZ+OtCIuxhgIipefEvjOY2dUU5ViDzlS 67l6SNBVFQ2rjBaBoasiboK05yTIWD1yJebO1EuvgyjRiizWWz/xsXwmi79aIZFWszEZ W5fg== X-Gm-Message-State: AOJu0Yzg3ZRk6oEVT1VK5ySx6O3WZV0/Z8iYoFWfiykBZq05KBqLWEL8 9OvLgTOLRD3uXOV767ps4bhAeXVBqic/pmDymtwKJKd0SdXLsfVtBSl15bv6AF7atfbSkzSk72C 3 X-Gm-Gg: ASbGncsTVOIQV6/s3DagqqSMMhH16TNtyAq0+4DdJmMgBJLi4cUBSy8Fx+5evp23nji 4XtZNEnBco5xMkTrU4mPiVZPVN73GwSgbPgalehF0cgd2PGwawlTo/897wDqySyMTNXphxp5SQX /GqzA3ComLBsU5FRxy//yBkVd6nBmaaGmhZTbOJctp6wZpQr3fDgVj2SoTIIXG4n7WyPhe+6sai pI6X1NeBdaaQNSAsapIIi5uZnYk7MPLpvSMm/H8kIvE/8Z8e/FRhTV/2yKDRHLs9OlUejXuVjw3 YYlrjfg99R722RDAgRXHw3iJPnMH5LJ1aCVVGliTUUNe4RqAK6q+pddEDM4aZDK9jWNiTn9JgdE = X-Google-Smtp-Source: AGHT+IEPBxuBAsji6SR2hzaNR7jq2VRXnLQECuychZ/X2Mk7GUVUOBmg76X0mIBqXAPpI5zP5v8l5Q== X-Received: by 2002:a17:903:1a6b:b0:226:3781:379d with SMTP id d9443c01a7336-22e0863a896mr43920245ad.33.1746111322699; Thu, 01 May 2025 07:55:22 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 02/11] accel/tcg: Move tlb_vaddr_to_host declaration to probe.h Date: Thu, 1 May 2025 07:55:10 -0700 Message-ID: <20250501145520.2695073-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250501145520.2695073-1-richard.henderson@linaro.org> References: <20250501145520.2695073-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62f; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1746111380916019100 Content-Type: text/plain; charset="utf-8" This is a probing function, not a load/store function. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier --- include/accel/tcg/cpu-ldst.h | 16 ---------------- include/accel/tcg/probe.h | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/include/accel/tcg/cpu-ldst.h b/include/accel/tcg/cpu-ldst.h index 00e6419e13..0de7f5eaa6 100644 --- a/include/accel/tcg/cpu-ldst.h +++ b/include/accel/tcg/cpu-ldst.h @@ -502,20 +502,4 @@ static inline uint64_t cpu_ldq_code(CPUArchState *env,= abi_ptr addr) return cpu_ldq_code_mmu(env, addr, oi, 0); } =20 -/** - * tlb_vaddr_to_host: - * @env: CPUArchState - * @addr: guest virtual address to look up - * @access_type: 0 for read, 1 for write, 2 for execute - * @mmu_idx: MMU index to use for lookup - * - * Look up the specified guest virtual index in the TCG softmmu TLB. - * If we can translate a host virtual address suitable for direct RAM - * access, without causing a guest exception, then return it. - * Otherwise (TLB entry is for an I/O access, guest software - * TLB fill required, etc) return NULL. - */ -void *tlb_vaddr_to_host(CPUArchState *env, vaddr addr, - MMUAccessType access_type, int mmu_idx); - #endif /* ACCEL_TCG_CPU_LDST_H */ diff --git a/include/accel/tcg/probe.h b/include/accel/tcg/probe.h index 177bd1608d..dd9ecbbdf1 100644 --- a/include/accel/tcg/probe.h +++ b/include/accel/tcg/probe.h @@ -103,4 +103,20 @@ int probe_access_full_mmu(CPUArchState *env, vaddr add= r, int size, =20 #endif /* !CONFIG_USER_ONLY */ =20 +/** + * tlb_vaddr_to_host: + * @env: CPUArchState + * @addr: guest virtual address to look up + * @access_type: 0 for read, 1 for write, 2 for execute + * @mmu_idx: MMU index to use for lookup + * + * Look up the specified guest virtual index in the TCG softmmu TLB. + * If we can translate a host virtual address suitable for direct RAM + * access, without causing a guest exception, then return it. + * Otherwise (TLB entry is for an I/O access, guest software + * TLB fill required, etc) return NULL. + */ +void *tlb_vaddr_to_host(CPUArchState *env, vaddr addr, + MMUAccessType access_type, int mmu_idx); + #endif --=20 2.43.0 From nobody Sat Nov 15 22:35:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1746111474; cv=none; d=zohomail.com; s=zohoarc; b=QIo/4FuSybJSt9qpngvJyO8wTNoMjd/Rx5xRy7SfIWMcySKgjIyngMAiS0XOUJV6ze+1d0kmIbHrwVPgiYGbtv+FAxx9bxd4b6H5ZisPpTIcWYwKU+6+Bbf6eXVv8RSe4QONimAZXuc2PXqQx32Yvv9qD1Bg88BnmVUqZQN7uCs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746111474; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=t1ed0CklYTiiIBRCtnbFvThtHt7Lv/qKME8bcfHr1lI=; b=nrvBHNqoU2F+lz7C9uLyWQR3ibwR4Wp00eSxxlvzuE62HEE2rZ1H6lsqwk/y3m1lSpnfY/3BIao9xDOhPbQ4h9eNi7SzFvVOkgA59uowXQWdbIe8FVQYAvtceD0rfOQM2mKhYcGPLXayvplWJGcCkCONYO0iFYF0D1F2/SrbRxM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1746111474066943.3839693131234; Thu, 1 May 2025 07:57:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uAVJx-0005fS-22; Thu, 01 May 2025 10:55: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 1uAVJv-0005dn-4S for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:27 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uAVJt-0005Qa-6u for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:26 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-227a8cdd241so13920345ad.3 for ; Thu, 01 May 2025 07:55:24 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e0bb0e770sm7644415ad.92.2025.05.01.07.55.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:55:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746111323; x=1746716123; 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=t1ed0CklYTiiIBRCtnbFvThtHt7Lv/qKME8bcfHr1lI=; b=Z72Nvt/G7PCG5zuDRyFGBQAeSQY8+Aa5Be11fktAlTCCKo5amRSg2QLDyuz3kdE5go W2gAFdvPy7ex4BUTse74nKW4Kiz7D9CJtJVgFR2ib2FLQGPg7+obEPmNvOQINgY2uujC 8LgSRa3kGQ73GXzxOYjK3YJmr1JFZzDRsABiru/DTn9ramZ1lZpmZC5E1DdGjGYrCOgs lbK56wOzH4cPg689SzgqYtUNfTEpisBzPSNIHPH5z3hONK/0T7231rdXRNxx136s7L9v zF75tifvuCKWc5IIaJwOYYvIZwBM0RjTBg+OXra1fNxgtFS4VcsH8LaUtYiSyEWibvUb CE1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746111323; x=1746716123; 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=t1ed0CklYTiiIBRCtnbFvThtHt7Lv/qKME8bcfHr1lI=; b=gotLjv+XclRsAVG/pah6ZAZ+ZsQmtkBwcpc/UPWlD2qK09qjDVeBvfLIvyD1T2AmP2 J/jQQalqHOKbMQomM7VAbJM7qSI60BUJaB58RaVcuAou9EfBHXYAupfQp3aqNs/B4W8V wgfLhFUlpDoc2Rx25toFsWelAtubc/3gcfcNI0WQur92KqA4HtZsWsdp9V8wzygNy5zF RIu0TuCc2J8OoQuIUpPjLgXfeAJvI29PyH8ZAm7Cj9fZsGpNlKiK5gAXkuFwlagBhT+Z SXUEupqzaZITvDvvDpz1834ioPqJKAl1zpOKFBZXaaD2ZYjuZaTQc34A1ewQPmh587mq xN3g== X-Gm-Message-State: AOJu0YxRTq3z53cnM1/BsA7kyIswQqE8xVjHsBfRJqzi9DUo7JOutUI7 ZLT6uTOZg/H5+3Gv+MVaK/Jn5VGdS2ZE5GUmgOerbphTcxD3vyWDnbmKvsBIwP/kS/PpQWAdN8q Z X-Gm-Gg: ASbGnct2aOcisetqcAAidVuvsfd6Fok9mzpDeflBlfQK7OGb+qfFkDRCdWjqzLV8XTt /twC1/W3t7PJE+dlRCmmk1WHaDdTzc90TOg47YjmRg24uc+JVfq8r1B2nxZJG6Kgj7aIyGgdQIo 7H/V5xVuF8xiw/b14qOcrwFDKAHSau/eb8NKzWdQlq3AeVyV7vfMnN1aHLQnYnBkiargaAFiCD5 yprzAhBFqqnFkzb9NGs+ByylZ/qvW3XVaDQ4bBB3YdcPPIKxPBZtCz3RRLgQG3O0bq2ZlTmegqH zUiaMFExmm0DcT1iQ6DwDL9u+pZBRetrWA+oBLeLbUnzp3GhAfWq1gHRM1bOnSVTyy9l/kqbb78 = X-Google-Smtp-Source: AGHT+IFAZr1nRLjFRm+Du31v9A0hLanFc7xrzO724XcBCYk1WESkJrZV55HKddAl2TYwC/Emgi1bjA== X-Received: by 2002:a17:903:22cc:b0:21f:52e:939e with SMTP id d9443c01a7336-22e040c7c97mr54534005ad.28.1746111323356; Thu, 01 May 2025 07:55:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 03/11] accel/tcg: Use target_long_bits() in cputlb.c Date: Thu, 1 May 2025 07:55:11 -0700 Message-ID: <20250501145520.2695073-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250501145520.2695073-1-richard.henderson@linaro.org> References: <20250501145520.2695073-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::635; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x635.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1746111474927019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- accel/tcg/cputlb.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 5b6d6f7975..35c467aace 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -19,6 +19,7 @@ =20 #include "qemu/osdep.h" #include "qemu/main-loop.h" +#include "qemu/target-info.h" #include "accel/tcg/cpu-ops.h" #include "accel/tcg/iommu.h" #include "accel/tcg/probe.h" @@ -771,19 +772,19 @@ void tlb_flush_range_by_mmuidx(CPUState *cpu, vaddr a= ddr, =20 assert_cpu_is_self(cpu); =20 + /* If no page bits are significant, this devolves to tlb_flush. */ + if (bits < TARGET_PAGE_BITS) { + tlb_flush_by_mmuidx(cpu, idxmap); + return; + } /* * If all bits are significant, and len is small, * this devolves to tlb_flush_page. */ - if (bits >=3D TARGET_LONG_BITS && len <=3D TARGET_PAGE_SIZE) { + if (len <=3D TARGET_PAGE_SIZE && bits >=3D target_long_bits()) { tlb_flush_page_by_mmuidx(cpu, addr, idxmap); return; } - /* If no page bits are significant, this devolves to tlb_flush. */ - if (bits < TARGET_PAGE_BITS) { - tlb_flush_by_mmuidx(cpu, idxmap); - return; - } =20 /* This should already be page aligned */ d.addr =3D addr & TARGET_PAGE_MASK; @@ -809,19 +810,19 @@ void tlb_flush_range_by_mmuidx_all_cpus_synced(CPUSta= te *src_cpu, TLBFlushRangeData d, *p; CPUState *dst_cpu; =20 + /* If no page bits are significant, this devolves to tlb_flush. */ + if (bits < TARGET_PAGE_BITS) { + tlb_flush_by_mmuidx_all_cpus_synced(src_cpu, idxmap); + return; + } /* * If all bits are significant, and len is small, * this devolves to tlb_flush_page. */ - if (bits >=3D TARGET_LONG_BITS && len <=3D TARGET_PAGE_SIZE) { + if (len <=3D TARGET_PAGE_SIZE && bits >=3D target_long_bits()) { tlb_flush_page_by_mmuidx_all_cpus_synced(src_cpu, addr, idxmap); return; } - /* If no page bits are significant, this devolves to tlb_flush. */ - if (bits < TARGET_PAGE_BITS) { - tlb_flush_by_mmuidx_all_cpus_synced(src_cpu, idxmap); - return; - } =20 /* This should already be page aligned */ d.addr =3D addr & TARGET_PAGE_MASK; --=20 2.43.0 From nobody Sat Nov 15 22:35:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1746111510; cv=none; d=zohomail.com; s=zohoarc; b=E4NeTahGQxxTBMWYX6qbnV6L7P8MIRFe8S730bqk061P37JpGxNFq3XYtpaJ1Qi3wd9YUCWAkkyEBsz7PfKVAOx63P3/1b81m0PPEGHaIkebFzm5yO/QdOtMdVjJB+Ttzs0RoMrlpo2zlEkuTHVoNAUUqxELm8i8mgfm7tCvjZU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746111510; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=x/PgQfi425UDgUiGbtOMZZgEtm+lUa3KGmn3dWsY1lM=; b=Aatvnz2/M1YNFXNX02yE4GvcQIyj4Q910kTj5Be1Rr2nHZF1qFICopSqdv1yMBL0TALQUuU8NW/C2KflB1LdFkmHFSY0bWHysfZJMai/SENMvy8PzcJTpnJME2U9E9qkWgC5NtMQCEl4HbdC96Eu0Knc6n/D3plqcdPaM5cL9Mc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1746111510071826.2990932694972; Thu, 1 May 2025 07:58:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uAVJx-0005ff-CG; Thu, 01 May 2025 10:55: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 1uAVJw-0005es-6y for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:28 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uAVJt-0005Qi-Hb for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:27 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-22423adf751so11443055ad.2 for ; Thu, 01 May 2025 07:55:25 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e0bb0e770sm7644415ad.92.2025.05.01.07.55.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:55:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746111324; x=1746716124; 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=x/PgQfi425UDgUiGbtOMZZgEtm+lUa3KGmn3dWsY1lM=; b=aWCa8fk2BJ6ubapxJxbojAKB/PSF91mWx8SfU9WnroYJAaKgAcrWRQm8nKps2qwjV2 ydbKHldijZ9ECYdJ6C/sGsowHgTiinVZZ9DY9QGEPOOeiEo8nfeeh75Dn5MURti1nzNI 7v1HxcyIPncrrRM9kBLQY3nvzexwIciO9u0LajSatSbBly5/DMqgjM2nlyQ1lW8/canf iqH3rSD6bk/IPQYGHPVlP2ekmx7ZrhWoCOaJMiV4xwkRzm5vURxZhKvgW6QhT6H8fX1T S26/+/aA4r/ubtMDwhPNiLxzWTfpz42SOE4mhJf0HNamb/mPTMuh3GaR6fi5FeTwU9Md /QFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746111324; x=1746716124; 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=x/PgQfi425UDgUiGbtOMZZgEtm+lUa3KGmn3dWsY1lM=; b=aQXNRAIaHy7jNkjYgLrO9UJZVBQSmCEJKhdvbvW6EI2MUHG6W5tKa8oKqgeQvMkSML Zie7XYoosJ5wArCtPA3/9RNySccKB+/tK0PHkrATyNJv677gHlwCgLZN/6abkqcCclek +7JsXeShHpyN81FsXoWq1gbnTwODrGF5ruVx2GjX4hXdfpWdkcRj4OGI/RopRsat7ic4 twtvdfQlkRl0J/0TG72qhcoxdg3pLI/buQiODDim2IvbhV8IQHQB/ADE3QYWNol4P2uy 7DgtAo3GMyyBariLJVaTLUtLYfoS3ZVfxNovbchlONqTyo+9ucLbwlBsq182JU4TIvJs W+NQ== X-Gm-Message-State: AOJu0Yz13QWEpIqPOf3K+hJgnNPUg1jvOk2GgiVr7FHYzrhg6uIGjLnh gOOcIkUtMFze51FPpSq28pWsjy5Gb5J+5NVluCutxBOeiIXadEIs/oeuQ6W4Tx3XiP0y0jZIsxO J X-Gm-Gg: ASbGncuaSKiYAMSjunaqntorVCJyp2h7GQFtOSUlLPVUNAvpZxfT7/ymgBJ1PbHoFBo 1EbgRxchaBl4vkWHqbG2HBItd4+9QxnmA3r+/QALNnO3JBgFFSMXQtU/M2Dln4dn6fUL0ymUJE+ ISnkJW8t31/v09tkPe/oYbi62B1N1HXeAGfKGJmEw2h+7zwgVbLOp7B/EeXqpfueaQ9m+Vb8gLP +/R8NumZWq4Eeu1GzPaMJGZ1cGMaxxdmLoEf8NRY6HvEdKT3Z+EVM/AxFSaSw3J8G0XEYS0mcla /Ky0IA6YAzftfIuHvo/QHRz2Ld4X9F68wlzlyv4pox9apy8LONNjTfMlwHzP/k3u5brs91wQKh8 = X-Google-Smtp-Source: AGHT+IFzgauIawkopdylbCya+8pGpTTVo258JyBdljaYdeHy3R4svlchVP4ZDVBe3gjDqOTjJJHyjw== X-Received: by 2002:a17:903:1cc:b0:22c:35c5:e30d with SMTP id d9443c01a7336-22e084288bamr34948305ad.13.1746111323957; Thu, 01 May 2025 07:55:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 04/11] accel/tcg: Use vaddr for plugin_{load,store}_cb Date: Thu, 1 May 2025 07:55:12 -0700 Message-ID: <20250501145520.2695073-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250501145520.2695073-1-richard.henderson@linaro.org> References: <20250501145520.2695073-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x632.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1746111510983019000 Content-Type: text/plain; charset="utf-8" Avoid the use of abi_ptr within ldst_common.c.inc. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier --- accel/tcg/ldst_common.c.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/accel/tcg/ldst_common.c.inc b/accel/tcg/ldst_common.c.inc index 9791a4e9ef..57f3e06192 100644 --- a/accel/tcg/ldst_common.c.inc +++ b/accel/tcg/ldst_common.c.inc @@ -123,7 +123,7 @@ void helper_st_i128(CPUArchState *env, uint64_t addr, I= nt128 val, MemOpIdx oi) * Load helpers for cpu_ldst.h */ =20 -static void plugin_load_cb(CPUArchState *env, abi_ptr addr, +static void plugin_load_cb(CPUArchState *env, vaddr addr, uint64_t value_low, uint64_t value_high, MemOpIdx oi) @@ -193,7 +193,7 @@ Int128 cpu_ld16_mmu(CPUArchState *env, vaddr addr, * Store helpers for cpu_ldst.h */ =20 -static void plugin_store_cb(CPUArchState *env, abi_ptr addr, +static void plugin_store_cb(CPUArchState *env, vaddr addr, uint64_t value_low, uint64_t value_high, MemOpIdx oi) --=20 2.43.0 From nobody Sat Nov 15 22:35:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1746111450; cv=none; d=zohomail.com; s=zohoarc; b=VrfFSOapF5Zl+MWztRbI5fOFesTeZMTqzynsAtJq68xexz7LdSqBSCX/P1/fZlL7Owv1ny65jS5Tx7zQCAdv5rBv92BUrF6KcueSAsl4USUPluXfnEkZkMCF5nfxgoNIqMNoVkAIxQPqJ5zWUOU57LFwUanE+suWb/OEd/zZSMs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746111450; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=V3es0q86fneop67hPwyyNUzAvnUBYSgJshp4N+xyHtE=; b=YizpqKjSGxIalQcK/EmLEc1AQt9AhnExN0xD7BAaK0ypti/ZNSa3ZT52d9cnYlCcErG5ue6gL9UgWPgmKXjvpZSZ/4I2OkoTg9TAZy61CMCAYfkwd/rsahdn/OQq37BPgg+Q1b5tAYtA4CaXjLpNX74sCocXwmAZplCmyx96+z8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 174611145056222.337081588060755; Thu, 1 May 2025 07:57:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uAVJy-0005gI-Dv; Thu, 01 May 2025 10:55: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 1uAVJw-0005ey-Fz for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:28 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uAVJu-0005RD-9k for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:28 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-2241053582dso16829035ad.1 for ; Thu, 01 May 2025 07:55:25 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e0bb0e770sm7644415ad.92.2025.05.01.07.55.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:55:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746111324; x=1746716124; 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=V3es0q86fneop67hPwyyNUzAvnUBYSgJshp4N+xyHtE=; b=gBCJEWwAUHmDE+WNP78YXlVmkiaM8GwEe1KDyv1paoFl1mEOI2wXuoZk0K7fS/5NQS WYzhTkIGSTWKlIXcyRBD7KT85pz6Xp4jqUddTWf24L6Bl1bheyb4xnX/vRLLRDPiYCdm nlosKMqVvYcgsZgLVSR7rPAe5DolZgiIXFw7fVf9GuimtWNbem8Zssk8Ko91U2S+NP1i yqk7DVDUtDthwlsw/RqQr7l/URP7pgohU/D+1CThjJB4GEEUWoBdCdltVrcolDaT+j9c 0d5L4DC2gnxhRQGG7q0/C1vCUhMBUQ8JQpxeMhh5tPG6ITzkhSbazIkVGS0lehDr6Js+ BcRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746111324; x=1746716124; 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=V3es0q86fneop67hPwyyNUzAvnUBYSgJshp4N+xyHtE=; b=gkAn+6GKlxqHD5JzkY7xpWdDRqLreqNPc4iXSwaLKOrvjZCI1B0mIApYg5dnrMTDYb Ae+8WpTlweXvcetd4GgoT6u1oHcTO/ncgcykDBB+c5HFRNHpnc7Jqag9uSp501auS1tD nfFYSeRDmrlkwxRX0d7EehMyoFGEQF/zfCtmKfjCJi0mMnW7p3oPmmadyXloti+wpytT ieqOJq7eeoizg162lYJ9cvZ5XHkzkYeSL7JAx9ZvVuC2F+C3DMR9stcCgqXrFFdzrW4z vYXaO8GeWfSxgzIROH+qTVymUryZQ9jrOYRtHY0HEp9NkMXacM7TWdFKIy6M1Ir/44Kw U1vA== X-Gm-Message-State: AOJu0YyRtsJduhBKkDPotDSVGq/R6ZPXWrPuOehOqiHg6lGX3T/5pnto TqGb0PSS9mbeYWTSiyBp8PCIF7Cb/wgzYnZesLVSNyXCohKXETFR1EkmN+a2VtaqVFs0tzQfK7j D X-Gm-Gg: ASbGnctRy/g9EpV3vNbC73kKTyGLvgkyP4Ko/LLNazusO0zniz7xcqp9IXevjI7cWY4 bk2oBxggWViwzxMLUF8aU8XwaWOlhWq/NpDvfEtZwE7O2h9poluOPEMdHPMlJ3OBoH4TbszcYyT GFhRg/XiqxfBnGPP9FjOeZmJdjDlj63dlQ8dsojgrd2ulXj0fYAdp7Nd/2dQCSthkr30nEix/gk oOTwpaSUHoQdk0QXxpC4BaTkp/xWlkNVQ7U63nFFpoP0wx5pg2I6q4ik7oG4udwvFNBao7PyoTk UXPEFwmUHrS2seM0rTjCbJoLpd1qqP0Qkxz0BW5ffz2jzmE2hvNqxzQWTC+/PANpF+XIqAQ1rJM = X-Google-Smtp-Source: AGHT+IEVX7AxsVe+9bs31+EGLTsaEGL7AFYloTuA/D2MM5bqxNMYyX1QssIrq1sDplgUWdrqFeZsFw== X-Received: by 2002:a17:903:2f43:b0:224:1609:a74a with SMTP id d9443c01a7336-22df581d613mr101616905ad.34.1746111324641; Thu, 01 May 2025 07:55:24 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 05/11] accel/tcg: Build cputlb.c once Date: Thu, 1 May 2025 07:55:13 -0700 Message-ID: <20250501145520.2695073-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250501145520.2695073-1-richard.henderson@linaro.org> References: <20250501145520.2695073-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::635; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x635.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1746111451020019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier --- accel/tcg/cputlb.c | 3 ++- accel/tcg/meson.build | 5 +---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 35c467aace..5f6d7c601c 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -25,7 +25,8 @@ #include "accel/tcg/probe.h" #include "exec/page-protection.h" #include "system/memory.h" -#include "accel/tcg/cpu-ldst.h" +#include "accel/tcg/cpu-ldst-common.h" +#include "accel/tcg/cpu-mmu-index.h" #include "exec/cputlb.h" #include "exec/tb-flush.h" #include "system/ram_addr.h" diff --git a/accel/tcg/meson.build b/accel/tcg/meson.build index d6bd304add..9b86051b82 100644 --- a/accel/tcg/meson.build +++ b/accel/tcg/meson.build @@ -25,15 +25,12 @@ tcg_specific_ss =3D ss.source_set() tcg_specific_ss.add(when: 'CONFIG_USER_ONLY', if_true: files('user-exec.c'= )) specific_ss.add_all(when: 'CONFIG_TCG', if_true: tcg_specific_ss) =20 -specific_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: files( - 'cputlb.c', -)) - libuser_ss.add(files( 'user-exec-stub.c', )) =20 libsystem_ss.add(files( + 'cputlb.c', 'icount-common.c', 'monitor.c', 'tcg-accel-ops.c', --=20 2.43.0 From nobody Sat Nov 15 22:35:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1746111380; cv=none; d=zohomail.com; s=zohoarc; b=QCyjooBnSLMO8KKFjrDEDSdZGcefaSEpyA7ff6cWfqZ74paLyWdJdDyYCF+gemMeW0n/DyuVGjfRT+HuPn0DTrBVM2kcDyJCeR9GacxEV+I7jU8ov+KV183qbivGVjFJWVwsxAmfXFuG8IpgcDBvK3E3voUS+Xx38B7c4qjDZzQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746111380; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=4dpnJ9Uc1sw31pq3AwLKyzow26q5U/SelaERHTTBOAw=; b=JfgwKJ0F4BoKq59KTcrP4041PDwSX96w/TavioNSlxw+BZW+MPXQrN+BSesRD26eRU8rutlzQ+nIX2Aq4sJsd0zZH8ikYuPnbA26EOJqNCDqR+Id5NdDZYV6hdUwBds6k9HHnVdt9YIqtlUraD+HxKlWRyKYIfMLpnNxz8ObaQk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1746111380819540.5191781594573; Thu, 1 May 2025 07:56:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uAVK0-0005hN-6E; Thu, 01 May 2025 10:55: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 1uAVJx-0005fd-7f for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:29 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uAVJv-0005SK-4U for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:28 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-22423adf751so11443585ad.2 for ; Thu, 01 May 2025 07:55:26 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e0bb0e770sm7644415ad.92.2025.05.01.07.55.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:55:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746111325; x=1746716125; 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=4dpnJ9Uc1sw31pq3AwLKyzow26q5U/SelaERHTTBOAw=; b=Mf53zFMDqwFadDxpad8UBHPzfraW3rIVQk1w+ZUHyFjtCx+xYS5XZ4KMXGRsrj7xFC /1TJKxFQlRG17mW96gxOhTAAn1rz8e8gFwtn5acHtJ4byI3VnM+NKZo8Lxaqf/WyDYku pcEhtBax0ndyXk7rkkDMmGVQuRNeQzw5Txyal6o+UBVczJ2ZbbOKt1m8e3xGrWmh7Xfr uLjtX0miCW58BmT5FjXTtfodFiP3SFFFw1u0sXRbzNgkiVD0ZuRUxVm2faxMVFvWRrGV f8TnSOOHRPTSUoDj9coU9di0Y8eCQscRhJaoYRFN7jMxwIesbVeptve2kxrUOnr/ec5b mnQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746111325; x=1746716125; 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=4dpnJ9Uc1sw31pq3AwLKyzow26q5U/SelaERHTTBOAw=; b=rnwnrOPtpHY5nMOHgsOdi0TtdZBEGt0cA+wnNDCu4515gDJvbWYrhNtPrLleVos02u qvEhmKI153cFl+8kimU1CACzOwrGRCs/SRRO6z9uteuMIcec+jL8F6IEST+y95iR3eqQ AI9T68DidvEfb4U60eKjJsQMgmsVJvGH/9Be+n1bKo7KP6L6LC+2RI/+7TbAavyr7tuX SrVMq7PiAMoeHC+3OlXBGCNCPE/dDjJFYVGm0Gcq5BJ+Zemb/0m5tOaChW+X/jTnnb8R 2J7KCkz6P7yTx0RgE8u5cisieADDF5bK9AzAL1UA2T8D4/sEmVHlnsPiPOzQDOTA7NA8 AkjQ== X-Gm-Message-State: AOJu0YzPlyNoTu/w6D5uYzogQneAVc2mSnUQbFtPZACEkdZbHlqrm+ws Q12e35Uu3y2MV92Jj41evFdoRLCtNMnCA04TQwEVg4t/ju+ysvwMyN9ljcCg3MUDfLge8hadBy5 x X-Gm-Gg: ASbGncvqEC0MbfAmrZyY7CMah4RkDJ9NyyLbZGnaIG/02L4qoIOiW2wmLM3bjsnMax6 S9OgiyJ9yw7TR7jw1901MvlFvF+66VzpRTRIEVhwN4/oJmbrv0ZqC/glj5M4Z3bzc9MvBgku9PX fLa3oIS00gDfVvMxWnD+HdztUcdwdik03l/AALxH4zp2MPU0zpYWZaKZkvxDnpyos/eMUkmZ0lb 7wSItH47NZlZZmr559uEkc21e4aMxTXogFAn5CCk10vA4YQZGsp8pU7mOV+eDedsU/SwEzWZ64o 8btEWnUnhoJmgdv7HbU5uQ8vqnlx8yBIOGHrG+15HgAsroayNtzD6vS075Yl+g4F/nPTsLYIi7M Ob6aJN57vjQ== X-Google-Smtp-Source: AGHT+IE4hTRI5reEb1cSFn9tCZJRbL3+CfHlT/nbKvG1CZO1Iaqc7cSW+5i3Ao3F1pNVTyOCa0kmOA== X-Received: by 2002:a17:902:e00c:b0:22d:e575:9eb2 with SMTP id d9443c01a7336-22e0863abbfmr35621875ad.34.1746111325493; Thu, 01 May 2025 07:55:25 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 06/11] include/user: Convert GUEST_ADDR_MAX to a variable Date: Thu, 1 May 2025 07:55:14 -0700 Message-ID: <20250501145520.2695073-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250501145520.2695073-1-richard.henderson@linaro.org> References: <20250501145520.2695073-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::629; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x629.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1746111382754019000 Content-Type: text/plain; charset="utf-8" Remove GUEST_ADDR_MAX and add guest_addr_max. Initialize it in *-user/main.c, after reserved_va. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- include/user/guest-host.h | 27 +++++++-------------------- accel/tcg/user-exec.c | 4 ++-- bsd-user/main.c | 8 ++++++++ linux-user/main.c | 8 ++++++++ 4 files changed, 25 insertions(+), 22 deletions(-) diff --git a/include/user/guest-host.h b/include/user/guest-host.h index 8d2079bbbb..8e10d36948 100644 --- a/include/user/guest-host.h +++ b/include/user/guest-host.h @@ -23,23 +23,11 @@ extern unsigned long reserved_va; =20 /* - * Limit the guest addresses as best we can. - * - * When not using -R reserved_va, we cannot really limit the guest - * to less address space than the host. For 32-bit guests, this - * acts as a sanity check that we're not giving the guest an address - * that it cannot even represent. For 64-bit guests... the address - * might not be what the real kernel would give, but it is at least - * representable in the guest. - * - * TODO: Improve address allocation to avoid this problem, and to - * avoid setting bits at the top of guest addresses that might need - * to be used for tags. + * The last byte of the guest address space. + * If reserved_va is non-zero, guest_addr_max matches. + * If reserved_va is zero, guest_addr_max equals the full guest space. */ -#define GUEST_ADDR_MAX_ \ - ((MIN_CONST(TARGET_VIRT_ADDR_SPACE_BITS, TARGET_ABI_BITS) <=3D 32) ? \ - UINT32_MAX : ~0ul) -#define GUEST_ADDR_MAX (reserved_va ? : GUEST_ADDR_MAX_) +extern unsigned long guest_addr_max; =20 #ifndef TARGET_TAGGED_ADDRESSES static inline abi_ptr cpu_untagged_addr(CPUState *cs, abi_ptr x) @@ -61,17 +49,16 @@ static inline void *g2h(CPUState *cs, abi_ptr x) =20 static inline bool guest_addr_valid_untagged(abi_ulong x) { - return x <=3D GUEST_ADDR_MAX; + return x <=3D guest_addr_max; } =20 static inline bool guest_range_valid_untagged(abi_ulong start, abi_ulong l= en) { - return len - 1 <=3D GUEST_ADDR_MAX && start <=3D GUEST_ADDR_MAX - len = + 1; + return len - 1 <=3D guest_addr_max && start <=3D guest_addr_max - len = + 1; } =20 #define h2g_valid(x) \ - (HOST_LONG_BITS <=3D TARGET_VIRT_ADDR_SPACE_BITS || \ - (uintptr_t)(x) - guest_base <=3D GUEST_ADDR_MAX) + ((uintptr_t)(x) - guest_base <=3D guest_addr_max) =20 #define h2g_nocheck(x) ({ \ uintptr_t __ret =3D (uintptr_t)(x) - guest_base; \ diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c index adc5296ba5..f674fd875e 100644 --- a/accel/tcg/user-exec.c +++ b/accel/tcg/user-exec.c @@ -500,7 +500,7 @@ void page_set_flags(vaddr start, vaddr last, int flags) guest address space. If this assert fires, it probably indicates a missing call to h2g_valid. */ assert(start <=3D last); - assert(last <=3D GUEST_ADDR_MAX); + assert(last <=3D guest_addr_max); /* Only set PAGE_ANON with new mappings. */ assert(!(flags & PAGE_ANON) || (flags & PAGE_RESET)); assert_memory_lock(); @@ -621,7 +621,7 @@ vaddr page_find_range_empty(vaddr min, vaddr max, vaddr= len, vaddr align) vaddr len_m1, align_m1; =20 assert(min <=3D max); - assert(max <=3D GUEST_ADDR_MAX); + assert(max <=3D guest_addr_max); assert(len !=3D 0); assert(is_power_of_2(align)); assert_memory_lock(); diff --git a/bsd-user/main.c b/bsd-user/main.c index fa7645a56e..603fc80ba7 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -89,6 +89,7 @@ bool have_guest_base; #endif =20 unsigned long reserved_va; +unsigned long guest_addr_max; =20 const char *interp_prefix =3D CONFIG_QEMU_INTERP_PREFIX; const char *qemu_uname_release; @@ -500,6 +501,13 @@ int main(int argc, char **argv) /* MAX_RESERVED_VA + 1 is a large power of 2, so is aligned. */ reserved_va =3D max_reserved_va; } + if (reserved_va !=3D 0) { + guest_addr_max =3D reserved_va; + } else if (MIN(TARGET_VIRT_ADDR_SPACE_BITS, TARGET_ABI_BITS) <=3D 32) { + guest_addr_max =3D UINT32_MAX; + } else { + guest_addr_max =3D ~0ul; + } =20 if (getenv("QEMU_STRACE")) { do_strace =3D 1; diff --git a/linux-user/main.c b/linux-user/main.c index 4af7f49f38..5ac5b55dc6 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -122,6 +122,7 @@ static const char *last_log_filename; #endif =20 unsigned long reserved_va; +unsigned long guest_addr_max; =20 static void usage(int exitcode); =20 @@ -858,6 +859,13 @@ int main(int argc, char **argv, char **envp) /* MAX_RESERVED_VA + 1 is a large power of 2, so is aligned. */ reserved_va =3D max_reserved_va; } + if (reserved_va !=3D 0) { + guest_addr_max =3D reserved_va; + } else if (MIN(TARGET_VIRT_ADDR_SPACE_BITS, TARGET_ABI_BITS) <=3D 32) { + guest_addr_max =3D UINT32_MAX; + } else { + guest_addr_max =3D ~0ul; + } =20 /* * Temporarily disable --=20 2.43.0 From nobody Sat Nov 15 22:35:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1746111494; cv=none; d=zohomail.com; s=zohoarc; b=Nubr4s9XDD2v9fLqHfU6A4pwb9K6Mpi/Fi3uVPcZvw3jtapCl/nWkuXgJRG1m1Qthqgj9gC0YCB28J1gFlBHBa6M4qSqSJHxfqdudHXd34p3tkUthlyCZ6x7+v5HoYddjIKlG84YkNT8ArUEj86OumhsLp30HWAUyPBgvTP82Ak= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746111494; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=EmF5AKGTNJn4wCHiHLWI2Bve9d/Bi6dFsapJqoMpZyA=; b=lGpFoDxaEvtLZ9mOZngXioLSiVRgR4yrCFomMLyS1VrZeZGPnDk7t9IeznsgShs6ixnzXy7jOmva/Nh+ZtXwCVeJglzNfMUzd2bC/r1uWA6XfEYmDdknZDwhzdrOH39v7mvxRhFYnT1hs1YFypv1+Ql/hAbHmBnBShDWm7mopJU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1746111494538811.1294748390422; Thu, 1 May 2025 07:58:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uAVK2-0005i1-OP; Thu, 01 May 2025 10:55:34 -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 1uAVJx-0005fj-Dc for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:29 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uAVJv-0005T3-L3 for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:29 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-22928d629faso10450615ad.3 for ; Thu, 01 May 2025 07:55:27 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e0bb0e770sm7644415ad.92.2025.05.01.07.55.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:55:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746111326; x=1746716126; 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=EmF5AKGTNJn4wCHiHLWI2Bve9d/Bi6dFsapJqoMpZyA=; b=rbgZhXm7GbP07vxR0Ywywa3MVq4wUFUntDAJQ/Muck6oHL17rRhAr8XGQbKXGxVrQK Jf4OEANWWW14rxQZSHEiPmQTKGJJA6zrO5ZRf/ZvzLuU+pPG32CaL1wxVDX6EPE0wbQ9 T9dpgW/3TlYRUDZENvgZilnGriPc9y3A+9Z9hI4Dv2ZFFZUCWAnXgVsVaE9oGzdpjyM7 gc5ZxPO/oQjOO0kRzmy1ZRcfTvp5qm392Ci9W/iMCtG1Rq6XtlaQXvWDOo5sQT8ynTlQ R+u9qESOwAzQ6k7DIMosY8XCwwiyGG8LGj06RU8RBUMhuO50ZI4EM9rm+IjSjLdnBQbh Q5Fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746111326; x=1746716126; 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=EmF5AKGTNJn4wCHiHLWI2Bve9d/Bi6dFsapJqoMpZyA=; b=LqXejr0u+8ygh/XpmPIRfN+NFreInqhPv34X1C7Epos/gt94LlAXcAbFObSfHN8Pb1 51foRsURF5xAg2z0kIjej4buZiKuhwxHWWCjax7KWTwszJ5R8a95I3+PhY92qYhSEn/C wmJdvK+IHe83IJBO3QaZ5qqBCVOkmaR970Stm0lWe3v0lzTqyEoYsqmS49iKrH1XjCzk OwnsU2aIwU8VNdBa4SesdQZ1v1WMD3VkOsw4RmgxOaeeagaKdZdGQkBh/ZTzrbAyH/TT pFxQktwUAuX0eU5sak4gmpdZ+1QTW6/sQY9ddPEFm1byXPAQHNHFTJ88YLipN2To2KE9 dXbg== X-Gm-Message-State: AOJu0Yx43HOeOSpMWEBvUfqO82tHdXWobnEkjgPdrQpHqRUK/CaSe+pr GEeAKErSvK2kBvkIWXZxHGhCSvwPJfXNzhSGmZIq9/azo8TZRYbkzLZEqd7yD1GnQEC8AbEGF2x 3 X-Gm-Gg: ASbGncsoOAtbt5wbG32xPV7b2gZUXiwns2iOBJz85jYhkC3ilscnNAJxgdyB9k6OJpr blLTTxJTRqpSr0ANFLIbsIx8kTNRDhS8+SOTvzse+8acc9c+PZQXjWPDOnSQNm1oCd+KXxr2h1v cwEAYUNakSDD0PG8YQuvs0z6SxQ/sRIf3/IKkQno+x4WIDR4pYT+JMhvdCMsZ4zbEr2x8XDSCpE WHOMEJc7Wb2ZiZ/vEeMZDQTz7Nvg+JiL9uw1Q/pBtDNd9+XkNy01qvXnbP2pEj+okP+NHxqOkpO VD2dX5URkzRzLFikBOe98aNRDCDuralafLPNBUYMlMZtbcMC/IRhrqoFiFdWsDKoDLEaG9ZYcI4 = X-Google-Smtp-Source: AGHT+IE6SAH9kbTgkJ+jnw7yhNzoK54Oul71yEAnPeV5LHiXnQreS+IiT8t0t54yhIdpBeXZwiuVcw== X-Received: by 2002:a17:903:1a6b:b0:224:2a6d:55ae with SMTP id d9443c01a7336-22e0863b023mr47358415ad.48.1746111326043; Thu, 01 May 2025 07:55:26 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 07/11] include/user: Use vaddr in guest-host.h Date: Thu, 1 May 2025 07:55:15 -0700 Message-ID: <20250501145520.2695073-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250501145520.2695073-1-richard.henderson@linaro.org> References: <20250501145520.2695073-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::636; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x636.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1746111496683019100 Content-Type: text/plain; charset="utf-8" Replace abi_ptr and abi_ulong with vaddr. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- include/user/guest-host.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/include/user/guest-host.h b/include/user/guest-host.h index 8e10d36948..0656f2e356 100644 --- a/include/user/guest-host.h +++ b/include/user/guest-host.h @@ -8,7 +8,7 @@ #ifndef USER_GUEST_HOST_H #define USER_GUEST_HOST_H =20 -#include "user/abitypes.h" +#include "exec/vaddr.h" #include "user/guest-base.h" #include "cpu.h" =20 @@ -30,29 +30,29 @@ extern unsigned long reserved_va; extern unsigned long guest_addr_max; =20 #ifndef TARGET_TAGGED_ADDRESSES -static inline abi_ptr cpu_untagged_addr(CPUState *cs, abi_ptr x) +static inline vaddr cpu_untagged_addr(CPUState *cs, vaddr x) { return x; } #endif =20 /* All direct uses of g2h and h2g need to go away for usermode softmmu. */ -static inline void *g2h_untagged(abi_ptr x) +static inline void *g2h_untagged(vaddr x) { return (void *)((uintptr_t)(x) + guest_base); } =20 -static inline void *g2h(CPUState *cs, abi_ptr x) +static inline void *g2h(CPUState *cs, vaddr x) { return g2h_untagged(cpu_untagged_addr(cs, x)); } =20 -static inline bool guest_addr_valid_untagged(abi_ulong x) +static inline bool guest_addr_valid_untagged(vaddr x) { return x <=3D guest_addr_max; } =20 -static inline bool guest_range_valid_untagged(abi_ulong start, abi_ulong l= en) +static inline bool guest_range_valid_untagged(vaddr start, vaddr len) { return len - 1 <=3D guest_addr_max && start <=3D guest_addr_max - len = + 1; } @@ -62,7 +62,7 @@ static inline bool guest_range_valid_untagged(abi_ulong s= tart, abi_ulong len) =20 #define h2g_nocheck(x) ({ \ uintptr_t __ret =3D (uintptr_t)(x) - guest_base; \ - (abi_ptr)__ret; \ + (vaddr)__ret; \ }) =20 #define h2g(x) ({ \ --=20 2.43.0 From nobody Sat Nov 15 22:35:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1746111473; cv=none; d=zohomail.com; s=zohoarc; b=VyG3iNnK/DDd3g8UBy4dWnUcQS+UQ2USU7izO02Q7G4MnBMzVtL58HnRO6eYBz28qcOkb3GHH2dS55hoDe9ybzsNmUL1AyDeJAPdm1N80o2XVpGnDLZWQBAhTY5YysPWace6NjYN10i2pO795kSi5D76QyF2+mCkGcp733hbhoI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746111473; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=fVyP76o6EOcJrt7iH7jc6aMX3NadFlFM45GV6fkbfLE=; b=DeTMbfFwPhFQ4emLwXFJ5M2cZxw+NTNxosdMQdRwV4zOVCyImNjvEXbk4YtsR3vUESDyIIzvz3LnVZ7o5sGQnAOa6ZF+IkWz3fxA0Cnsp7QkagZh9MTzyVcH9e/+cW73Yq/Aw0AvQefQ5jdTwij0Lef8zjiLdlheuib+TzJ6W+g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1746111473946979.9510766050828; Thu, 1 May 2025 07:57:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uAVK2-0005i3-T1; Thu, 01 May 2025 10:55: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 1uAVJy-0005gJ-EA for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:30 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uAVJw-0005Ub-DO for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:30 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-227cf12df27so10358725ad.0 for ; Thu, 01 May 2025 07:55:27 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e0bb0e770sm7644415ad.92.2025.05.01.07.55.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:55:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746111327; x=1746716127; 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=fVyP76o6EOcJrt7iH7jc6aMX3NadFlFM45GV6fkbfLE=; b=BycKXzwagI0bVGVq8e7jJ+R2mglSALWkb10kKRADTMfCEUC9TF5E7PDXX6ntyRYjlw 0nBTxE28TzvYCGgIA4rWZ+PPcLcQ1h9NB+V7zKw9+uxTqWtc4mQWLp9MnexNT3ntgRN9 IsiryT8KBI6mUb246xhArSOE7eGCQNnKrccs+2fuAA+xRrkJqKY7KkOlkKY1t60p6Pp4 Lu5jH0RvKIGSPthMA/NFK793KVlznTLGFOyn/JjoY5PK/1BhxKAZ8klobirIfjYM18cA SB7TCigExG0fActklIRYK+bJkWk50sawmeFPSZd0LYvwqskqkCihlpGObP6QJgzl9iGY jZ/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746111327; x=1746716127; 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=fVyP76o6EOcJrt7iH7jc6aMX3NadFlFM45GV6fkbfLE=; b=qF4NEB6Q7q85CucUBi/AHWEMEbGmd+cmTw33Bju0f5kncjbBipK71uijklUCGOheKR 5NnkPQ0QxbF6lgnKzI50xhgGSvBUymguyC+IbAxZXoyhxFlpYxbJm/Y0fnTEHO7c6ywD B8O8hpa6IyFmS64s6hA+c/Zr82U74C238lUxoV3dCfUP3YHXsU1ADOnJThiOYYjinTqn llJ/xVLFcS05FDld5N5OoLqk0y8dSq0Dj8s+UvJDmlMZCzkUesOy4bULoBtHLMslx1tm KB6IoDICmzKiApelW8qhgeXlK8xthc8dCxcvrCPqYJVJ+IQmT8mqN7hTkGSSflrmt5sx k5fA== X-Gm-Message-State: AOJu0YwmqlEdFF4OmFi4CWlvfeOeBmZFFRC1qoA+3U/dt47SLZ51eojt EMkYSr3uJKyp+AVMVrAvAe1nBMGcjsuJAN2bGbNufHxOt6o5k+YA88PzKWErS85yPItsJboCyoJ G X-Gm-Gg: ASbGncv7ldrekLlcaoRWx3gZn54vDKoTocXjIOuLhaY7Gv7TC99R7msZeSM3PWNQzdh VW58C1kFP9p/aSAo+VPe/yiqrAZI4gg+sJEbom2yGkRW4/iK+zD+knoxDueACmcH6MabWLMPz2T WnqVIycoINaq4/VfguQFyQSirpnTNypHoO7LK5kqZWUCY+RVioEtW5jPRRX4oQjxRq+UcmrgWmr 2Tatd/ycj2v4bUpUr6Q+Kwr3sxHsJYn1f0DHli2/F51aBIR/asa1B8U/mg6ONZqupWv8WFTMdy/ 4dcn9UvzSshKMdah6OYvVlIemiupMVURx5Zmq9KOdVkqQJD2ih6z359kAuGyZooIRyfZZY1yUlg = X-Google-Smtp-Source: AGHT+IFX9ATLOxHMw0h/lXi+fGjqm8u7aQeLw/DH2KWtQxDcTlm0NIBU5vO5Yk8Xa+KIgT5HKV/aBQ== X-Received: by 2002:a17:903:41ce:b0:216:4676:dfb5 with SMTP id d9443c01a7336-22e087ff587mr39495885ad.21.1746111326809; Thu, 01 May 2025 07:55:26 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 08/11] accel/tcg: Move TARGET_TAGGED_ADDRESSES to TCGCPUOps.untagged_addr Date: Thu, 1 May 2025 07:55:16 -0700 Message-ID: <20250501145520.2695073-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250501145520.2695073-1-richard.henderson@linaro.org> References: <20250501145520.2695073-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::635; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x635.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1746111475003019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- include/accel/tcg/cpu-ops.h | 7 +++++++ include/user/guest-host.h | 8 +++++--- target/arm/cpu-param.h | 7 +------ target/arm/cpu.h | 32 +------------------------------- target/arm/cpu.c | 27 ++++++++++++++++++++++++++- 5 files changed, 40 insertions(+), 41 deletions(-) diff --git a/include/accel/tcg/cpu-ops.h b/include/accel/tcg/cpu-ops.h index 23cd6af0b2..cd22e5d5b9 100644 --- a/include/accel/tcg/cpu-ops.h +++ b/include/accel/tcg/cpu-ops.h @@ -157,6 +157,13 @@ struct TCGCPUOps { */ void (*record_sigbus)(CPUState *cpu, vaddr addr, MMUAccessType access_type, uintptr_t ra); + + /** + * untagged_addr: Remove an ignored tag from an address + * @cpu: cpu context + * @addr: tagged guest address + */ + vaddr (*untagged_addr)(CPUState *cs, vaddr addr); #else /** @do_interrupt: Callback for interrupt handling. */ void (*do_interrupt)(CPUState *cpu); diff --git a/include/user/guest-host.h b/include/user/guest-host.h index 0656f2e356..8f7ef75896 100644 --- a/include/user/guest-host.h +++ b/include/user/guest-host.h @@ -10,7 +10,7 @@ =20 #include "exec/vaddr.h" #include "user/guest-base.h" -#include "cpu.h" +#include "accel/tcg/cpu-ops.h" =20 /* * If non-zero, the guest virtual address space is a contiguous subset @@ -29,12 +29,14 @@ extern unsigned long reserved_va; */ extern unsigned long guest_addr_max; =20 -#ifndef TARGET_TAGGED_ADDRESSES static inline vaddr cpu_untagged_addr(CPUState *cs, vaddr x) { + const TCGCPUOps *tcg_ops =3D cs->cc->tcg_ops; + if (tcg_ops->untagged_addr) { + return tcg_ops->untagged_addr(cs, x); + } return x; } -#endif =20 /* All direct uses of g2h and h2g need to go away for usermode softmmu. */ static inline void *g2h_untagged(vaddr x) diff --git a/target/arm/cpu-param.h b/target/arm/cpu-param.h index 5c5bc8a009..8b46c7c570 100644 --- a/target/arm/cpu-param.h +++ b/target/arm/cpu-param.h @@ -17,14 +17,9 @@ #endif =20 #ifdef CONFIG_USER_ONLY -# ifdef TARGET_AARCH64 -# define TARGET_TAGGED_ADDRESSES -# ifdef __FreeBSD__ -# define TARGET_PAGE_BITS 12 -# else +# if defined(TARGET_AARCH64) && defined(CONFIG_LINUX) /* Allow user-only to vary page size from 4k */ # define TARGET_PAGE_BITS_VARY -# endif # else # define TARGET_PAGE_BITS 12 # endif diff --git a/target/arm/cpu.h b/target/arm/cpu.h index be4449ca06..23720b2b17 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -783,12 +783,9 @@ typedef struct CPUArchState { #else /* CONFIG_USER_ONLY */ /* For usermode syscall translation. */ bool eabi; -#endif /* CONFIG_USER_ONLY */ - -#ifdef TARGET_TAGGED_ADDRESSES /* Linux syscall tagged address support */ bool tagged_addr_enable; -#endif +#endif /* CONFIG_USER_ONLY */ } CPUARMState; =20 static inline void set_feature(CPUARMState *env, int feature) @@ -3217,34 +3214,7 @@ extern const uint64_t pred_esz_masks[5]; #define TAG_GRANULE (1 << LOG2_TAG_GRANULE) =20 #ifdef CONFIG_USER_ONLY - #define TARGET_PAGE_DATA_SIZE (TARGET_PAGE_SIZE >> (LOG2_TAG_GRANULE + 1)) - -#ifdef TARGET_TAGGED_ADDRESSES -/** - * cpu_untagged_addr: - * @cs: CPU context - * @x: tagged address - * - * Remove any address tag from @x. This is explicitly related to the - * linux syscall TIF_TAGGED_ADDR setting, not TBI in general. - * - * There should be a better place to put this, but we need this in - * include/exec/cpu_ldst.h, and not some place linux-user specific. - */ -static inline target_ulong cpu_untagged_addr(CPUState *cs, target_ulong x) -{ - CPUARMState *env =3D cpu_env(cs); - if (env->tagged_addr_enable) { - /* - * TBI is enabled for userspace but not kernelspace addresses. - * Only clear the tag if bit 55 is clear. - */ - x &=3D sextract64(x, 0, 56); - } - return x; -} -#endif /* TARGET_TAGGED_ADDRESSES */ #endif /* CONFIG_USER_ONLY */ =20 #endif diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 2020aec54a..45cb6fd7ee 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2671,7 +2671,31 @@ static const char *arm_gdb_get_core_xml_file(CPUStat= e *cs) return "arm-core.xml"; } =20 -#ifndef CONFIG_USER_ONLY +#ifdef CONFIG_USER_ONLY +/** + * aarch64_untagged_addr: + * + * Remove any address tag from @x. This is explicitly related to the + * linux syscall TIF_TAGGED_ADDR setting, not TBI in general. + * + * There should be a better place to put this, but we need this in + * include/exec/cpu_ldst.h, and not some place linux-user specific. + * + * Note that arm-*-user will never set tagged_addr_enable. + */ +static vaddr aarch64_untagged_addr(CPUState *cs, vaddr x) +{ + CPUARMState *env =3D cpu_env(cs); + if (env->tagged_addr_enable) { + /* + * TBI is enabled for userspace but not kernelspace addresses. + * Only clear the tag if bit 55 is clear. + */ + x &=3D sextract64(x, 0, 56); + } + return x; +} +#else #include "hw/core/sysemu-cpu-ops.h" =20 static const struct SysemuCPUOps arm_sysemu_ops =3D { @@ -2702,6 +2726,7 @@ static const TCGCPUOps arm_tcg_ops =3D { #ifdef CONFIG_USER_ONLY .record_sigsegv =3D arm_cpu_record_sigsegv, .record_sigbus =3D arm_cpu_record_sigbus, + .untagged_addr =3D aarch64_untagged_addr, #else .tlb_fill_align =3D arm_cpu_tlb_fill_align, .cpu_exec_interrupt =3D arm_cpu_exec_interrupt, --=20 2.43.0 From nobody Sat Nov 15 22:35:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1746111419; cv=none; d=zohomail.com; s=zohoarc; b=ioVkCUfomFDYNvJpmxhLQBTD5NMYkvnSk2ZPgvEbuoxRdStK78fkX3b5J2CkCObfXdOAvKpExESkrZEg/jwZVTNIRnBF5xlUcryRXQANGzr0OpItI4LIGvEi33bA62c0h7mQmGqDvht1BL8WPue5i/6qMAmb3kb7z6RV+I7awd8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746111419; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=K93yqXiT68gefwedjtdMyWq1+8RZcqNvsUBZSLOQy7s=; b=VC4N5+SU4tXlnSc8SMTyVDVtD6ah7UhqOegbHOjEK5Po6W2RkYZF+aOWu+9k+AK++6X30/QeUU31xRAE8sbpSu6VJc9is6QGOKCZK+dqcOJ+6KQw8LAtm5D3a4Z0LQJst1K8jAOeGnGg1VtltSV1uxyxsJUUSm0p5fPbysE/+qo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1746111419008862.619372426447; Thu, 1 May 2025 07:56:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uAVKC-0005kL-NJ; Thu, 01 May 2025 10:55:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uAVJz-0005hG-VY for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:31 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uAVJx-0005W8-UR for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:31 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2279915e06eso11716665ad.1 for ; Thu, 01 May 2025 07:55:29 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e0bb0e770sm7644415ad.92.2025.05.01.07.55.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:55:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746111328; x=1746716128; 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=K93yqXiT68gefwedjtdMyWq1+8RZcqNvsUBZSLOQy7s=; b=tV3z/Cxo0QraFqqC6MCbopKi1AxuoGsesNjyQggEs/55Q2sHn6oW661WwJPqLs25UU F9KTnT1C7PIsVS6N5SKXE8KakZf7OoWrg9FQexDRhz1n0H1MZmqfHpo0/eyObKhvrvVk LU3zqzcl8+6KvKpHuMYzT/1fCeVq/xooeSwQiMtkizaRTmvcfQRPbmq4Ef2I6Z0Zr1du 1WVXMNiSxxuIxlQtwa8pKFkiCCbq5BmuU7a/Qv07QOfXEzY3vNYBuN65jiHkLVCb4YA5 l2pmpv9KaEGnRZEIIETV+UhsEBfrfJV8VdDLlUpWzJk/wVPAsdy48z8FIkAFJ7w5z9sR gyAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746111328; x=1746716128; 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=K93yqXiT68gefwedjtdMyWq1+8RZcqNvsUBZSLOQy7s=; b=nlrsf1H8md96T+qRanueVnKftMutsRk66DxSgp+hMu4X1ox1LBvFkAoEWm8KApmj+u 27LTVVU/5K+rCj1weVCD4cUdLRCnBNVG3sdY81XmD3/ekSz8dXelgsfpCKTGbGcLj9R/ Q0CUPeSgEAFxoypnEmyf5NILGYW/wFqODFbsSAVqeG0AVS+BFm9PCBffGQ4VtCXrOKuU Lav/lkQdUBk2PM+jVlNNYnoljJ4UCi4VycnZ40D+btrVosUbnJ5ZZ3wq0quyxbwcu+6O Bpw9qriCdRBDdLgA54LteFY1gM0muw1oO5Ecg+4c3jcoNuX3tae9MndCqvsXD20t1gJy 5x8g== X-Gm-Message-State: AOJu0YzWXGzYP1NUetstq4Gnd2qK3/WjvUtdVYAto2j/OFiPs4nZYH6e kLB4FyZwubwCIIBb4CHHwMHKHhX92Be3LjywYuL+9gnpZzTCCidiplAh15DwIHp+ONY9uzW7+fp t X-Gm-Gg: ASbGncvEf0yzdjuVAV5C67q2wLfYh59C2tqnmo1AeA3FSOH4+Tz/3Hlfm0x0SM0siA1 nBKfV6teqmC/U7xRTd61GeLaSA1iQpwhPEc/dMxi7BGBVqD45cgXZN+SwqV0Y2YlP4eKvrUoaHR UnFxZwgt2cTUvZH6XiT7B3xP8kEV5pNzSwQv3BTfZYbgOd5ZlZ5mUqpNN2KAWsN05RTkym4JftH qTKQQYXbX5U9RXZDM0mEl1z3pzMUuH2kOq4bSh/MYq+4M4EyBMF9MzZR95M6nk+pKOi9s83bpuJ 19EvknzCq5/PC/T5Q+wdAJ9Klu7P9zg20XNF3zlZbE2wSPBWam2jml2csQBFrSnMigpnQmrpsNp EqibSoI1rlw== X-Google-Smtp-Source: AGHT+IEPtFaQdYEKO0sb5zTzRR+efeCWapldh5RlIDBphIbC38TZ4txuMGgr1ORfJn2BTQ//yIKmFQ== X-Received: by 2002:a17:902:ce82:b0:223:5241:f5ca with SMTP id d9443c01a7336-22e040bf431mr44250755ad.20.1746111327667; Thu, 01 May 2025 07:55:27 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 09/11] accel/tcg: Remove TARGET_PAGE_DATA_SIZE Date: Thu, 1 May 2025 07:55:17 -0700 Message-ID: <20250501145520.2695073-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250501145520.2695073-1-richard.henderson@linaro.org> References: <20250501145520.2695073-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::630; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x630.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1746111420635019100 Content-Type: text/plain; charset="utf-8" This macro is used by only one target, and even then under unusual conditions -- AArch64 with mmap's PROT_MTE flag. Since page size for aarch64-linux-user is variable, the per-page data size is also variable. Since page_reset_target_data via target_munmap does not have ready access to CPUState, simply pass in the size from the first allocation and remember that. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- include/user/page-protection.h | 8 +++++--- target/arm/cpu.h | 4 ---- accel/tcg/user-exec.c | 26 ++++++++++++++++---------- target/arm/tcg/mte_helper.c | 4 ++-- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/include/user/page-protection.h b/include/user/page-protection.h index 86143212fd..4bde664e4a 100644 --- a/include/user/page-protection.h +++ b/include/user/page-protection.h @@ -73,18 +73,20 @@ bool page_check_range_empty(vaddr start, vaddr last); vaddr page_find_range_empty(vaddr min, vaddr max, vaddr len, vaddr align); =20 /** - * page_get_target_data(address) + * page_get_target_data * @address: guest virtual address + * @size: per-page size * - * Return TARGET_PAGE_DATA_SIZE bytes of out-of-band data to associate + * Return @size bytes of out-of-band data to associate * with the guest page at @address, allocating it if necessary. The * caller should already have verified that the address is valid. + * The value of @size must be the same for every call. * * The memory will be freed when the guest page is deallocated, * e.g. with the munmap system call. */ __attribute__((returns_nonnull)) -void *page_get_target_data(vaddr address); +void *page_get_target_data(vaddr address, size_t size); =20 typedef int (*walk_memory_regions_fn)(void *, vaddr, vaddr, int); int walk_memory_regions(void *, walk_memory_regions_fn); diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 23720b2b17..6ed6409cb7 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -3213,8 +3213,4 @@ extern const uint64_t pred_esz_masks[5]; #define LOG2_TAG_GRANULE 4 #define TAG_GRANULE (1 << LOG2_TAG_GRANULE) =20 -#ifdef CONFIG_USER_ONLY -#define TARGET_PAGE_DATA_SIZE (TARGET_PAGE_SIZE >> (LOG2_TAG_GRANULE + 1)) -#endif /* CONFIG_USER_ONLY */ - #endif diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c index f674fd875e..46b1e97c30 100644 --- a/accel/tcg/user-exec.c +++ b/accel/tcg/user-exec.c @@ -870,7 +870,6 @@ tb_page_addr_t get_page_addr_code_hostp(CPUArchState *e= nv, vaddr addr, return addr; } =20 -#ifdef TARGET_PAGE_DATA_SIZE /* * Allocate chunks of target data together. For the only current user, * if we allocate one hunk per page, we have overhead of 40/128 or 40%. @@ -886,10 +885,16 @@ typedef struct TargetPageDataNode { } TargetPageDataNode; =20 static IntervalTreeRoot targetdata_root; +static size_t target_page_data_size; =20 void page_reset_target_data(vaddr start, vaddr last) { IntervalTreeNode *n, *next; + size_t size =3D target_page_data_size; + + if (likely(size =3D=3D 0)) { + return; + } =20 assert_memory_lock(); =20 @@ -920,17 +925,22 @@ void page_reset_target_data(vaddr start, vaddr last) n_last =3D MIN(last, n->last); p_len =3D (n_last + 1 - n_start) >> TARGET_PAGE_BITS; =20 - memset(t->data + p_ofs * TARGET_PAGE_DATA_SIZE, 0, - p_len * TARGET_PAGE_DATA_SIZE); + memset(t->data + p_ofs * size, 0, p_len * size); } } =20 -void *page_get_target_data(vaddr address) +void *page_get_target_data(vaddr address, size_t size) { IntervalTreeNode *n; TargetPageDataNode *t; vaddr page, region, p_ofs; =20 + /* Remember the size from the first call, and it should be constant. */ + if (unlikely(target_page_data_size !=3D size)) { + assert(target_page_data_size =3D=3D 0); + target_page_data_size =3D size; + } + page =3D address & TARGET_PAGE_MASK; region =3D address & TBD_MASK; =20 @@ -945,8 +955,7 @@ void *page_get_target_data(vaddr address) mmap_lock(); n =3D interval_tree_iter_first(&targetdata_root, page, page); if (!n) { - t =3D g_malloc0(sizeof(TargetPageDataNode) - + TPD_PAGES * TARGET_PAGE_DATA_SIZE); + t =3D g_malloc0(sizeof(TargetPageDataNode) + TPD_PAGES * size); n =3D &t->itree; n->start =3D region; n->last =3D region | ~TBD_MASK; @@ -957,11 +966,8 @@ void *page_get_target_data(vaddr address) =20 t =3D container_of(n, TargetPageDataNode, itree); p_ofs =3D (page - region) >> TARGET_PAGE_BITS; - return t->data + p_ofs * TARGET_PAGE_DATA_SIZE; + return t->data + p_ofs * size; } -#else -void page_reset_target_data(vaddr start, vaddr last) { } -#endif /* TARGET_PAGE_DATA_SIZE */ =20 /* The system-mode versions of these helpers are in cputlb.c. */ =20 diff --git a/target/arm/tcg/mte_helper.c b/target/arm/tcg/mte_helper.c index 13d7ac0097..0efc18a181 100644 --- a/target/arm/tcg/mte_helper.c +++ b/target/arm/tcg/mte_helper.c @@ -37,7 +37,6 @@ #include "qemu/guest-random.h" #include "mte_helper.h" =20 - static int choose_nonexcluded_tag(int tag, int offset, uint16_t exclude) { if (exclude =3D=3D 0xffff) { @@ -63,6 +62,7 @@ uint8_t *allocation_tag_mem_probe(CPUARMState *env, int p= tr_mmu_idx, bool probe, uintptr_t ra) { #ifdef CONFIG_USER_ONLY + const size_t page_data_size =3D TARGET_PAGE_SIZE >> (LOG2_TAG_GRANULE = + 1); uint64_t clean_ptr =3D useronly_clean_ptr(ptr); int flags =3D page_get_flags(clean_ptr); uint8_t *tags; @@ -83,7 +83,7 @@ uint8_t *allocation_tag_mem_probe(CPUARMState *env, int p= tr_mmu_idx, return NULL; } =20 - tags =3D page_get_target_data(clean_ptr); + tags =3D page_get_target_data(clean_ptr, page_data_size); =20 index =3D extract32(ptr, LOG2_TAG_GRANULE + 1, TARGET_PAGE_BITS - LOG2_TAG_GRANULE - 1); --=20 2.43.0 From nobody Sat Nov 15 22:35:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1746111459; cv=none; d=zohomail.com; s=zohoarc; b=dNPnfkGN6zLpQSWn0KFCz+ed0O6VA8h0m4DpiGXqEHANWiY3RZ4j381stflyv5MCVsXeKk0ABIUiDG1WCD19tM/ko6o5nPU5veanyXVS5iU87wgO+iu15fBtqPVlwhkV5HatQeNn7tMPMzvJDBnGUcjcOoBvwWv8fwOfgQsNHw4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746111459; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=9qBhX/Vzei5onG8CkoplGyB8ooo97U2cHYvAaBNQf3s=; b=Ch2EP2zYzaFxe3XJ78oNNyUAzp46VWPmIwu8KjA6Y86L17U/QvHptvop/LL9W1p9uVu9rGIVs+a5Ktxhxr51/V/ZfNe+lqDyhTaBfA+b5ILQSol7UorczGHHOdFQeXWYxjgm/9PxKS5j3LH2IwAxP+Wb/+vSRGnwSwTpgOAIlCs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1746111459124217.4822098772296; Thu, 1 May 2025 07:57:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uAVK5-0005j7-Rd; Thu, 01 May 2025 10:55:38 -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 1uAVK0-0005hT-5A for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:32 -0400 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uAVJy-0005Wu-9o for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:31 -0400 Received: by mail-pj1-x1035.google.com with SMTP id 98e67ed59e1d1-30332dfc820so1330444a91.2 for ; Thu, 01 May 2025 07:55:29 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e0bb0e770sm7644415ad.92.2025.05.01.07.55.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:55:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746111329; x=1746716129; 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=9qBhX/Vzei5onG8CkoplGyB8ooo97U2cHYvAaBNQf3s=; b=yqHjfW2Pu4a4A8grA6amWgITpCSyX/D61LR4/4zn78XWcZFVdAK9nV0jGYJCmdjJQH Zvf8iyCafnu/V1Q+F+shIh6WILIagvKs958yTqiUMswEGVWNxs/m5VVg06RaUb7ydTid Im4+sJjoC0/jxBLEVst8gUV2bPj83Tk+rI+W3AZxsufk3MX0jQMOMiPiYwkaNrZSyjtA YNwH2twHBgyEhRklxRfnJ/F5udvxcIE6OshfI3lYB5YDBIRf5Oro3IOGxr6M2fCiztzu tN50klL3p7DK7vZp0OKQNXdB6wCiX8maWFUgOBDdPX5FnjHtSjRPfUmj+hmm2zTpVZDW 20jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746111329; x=1746716129; 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=9qBhX/Vzei5onG8CkoplGyB8ooo97U2cHYvAaBNQf3s=; b=Vomi6CmA+AO76UEMc0Rc1GF7Ff0lrS0uO373jjqZvIovILyypkTnDZhX6Id1OXHm1M dvimUHaHuTeCK4wrfj2e7Y/Eww5TGlql8nBNgGPkB/T6LB9zKl95AL5PhWldSgRgmExg nvgJtLYVyzzI7Y35NA6aZwtZnzAOMCTUy31MAbT4xZTHBaG35eX7soZzRrzhxtmxBItj 178my/BPPCj5r6uOLEqjfz+0G8VTf+/PNGP0vuK1Oe428I8UEZ1O9LifwEoDe+aH0O3t VofwYsf3o+Duh2XovZpj15Gx6kx1UQ96J1WTuFqMn72Cw/Vx/2Hl6V7jTEIJUrBLJ6ga tURw== X-Gm-Message-State: AOJu0Yyh9JNRTCnbZ8oj8gv2ug6yyW7G9ltgMj4exzUarjcxxHhGh5lM p4YKH5qY6OlAV/pbXiaZrzwVACcee6RqqKGWq94M1GTu+BxUwVLE8Z6AAcTTb3peDCUR8RONLpd W X-Gm-Gg: ASbGncsMQ5SX5gd5O3PtPbprZWF+ELWT6cPnrH3lSzZJfXhubgUs2wtQmkUsnWJ8Dcu GDulcN5ScXiikkZyNZDtm7LCAYMfmYaLNGoE7H5VIZJK7tDdEudn21GcbX+ULVPiYqLbaKRismp onuTp0SXTb6dPmiE6WKPwbnmHynoduOeNkC7fAIWhAh3wd0WmiBMk+Fnh6keA50aKOvOZmtoBvH /xwFTLwtIAtaUWXOoRekS8ff0u1Bfjzdu99FQFuicP2IoqATohOLy8vJbqaSLmSfri5iYOJ7kDL uKxwpAiJ5pQRdoJ4gAV5OTLvxIrlAJorbl+LCh6Kkk81aWPiuK+65LgH8zDHh+UPA0NbskafXkI = X-Google-Smtp-Source: AGHT+IF2OcmS55quGF2jvtdXrEbtIc+w4HSYinrSkXHrfVR1MvO6LAD/27AUhgNut3sk4kVhNca0zg== X-Received: by 2002:a17:90b:586d:b0:2ee:7411:ca99 with SMTP id 98e67ed59e1d1-30a400a8791mr4701956a91.1.1746111328449; Thu, 01 May 2025 07:55:28 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 10/11] accel/tcg: Avoid abi_ptr in user-exec.c Date: Thu, 1 May 2025 07:55:18 -0700 Message-ID: <20250501145520.2695073-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250501145520.2695073-1-richard.henderson@linaro.org> References: <20250501145520.2695073-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1035; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1035.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1746111460614019100 Content-Type: text/plain; charset="utf-8" In page_dump/dump_region, use guest_addr_max to check the size of the guest address space and size the output appropriately. This will change output with small values of -R reserved_va, but shouldn't affect anything else. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- accel/tcg/user-exec.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c index 46b1e97c30..085da0c036 100644 --- a/accel/tcg/user-exec.c +++ b/accel/tcg/user-exec.c @@ -29,6 +29,7 @@ #include "accel/tcg/helper-retaddr.h" #include "accel/tcg/probe.h" #include "user/cpu_loop.h" +#include "user/guest-host.h" #include "qemu/main-loop.h" #include "user/page-protection.h" #include "exec/page-protection.h" @@ -202,10 +203,19 @@ int walk_memory_regions(void *priv, walk_memory_regio= ns_fn fn) static int dump_region(void *opaque, vaddr start, vaddr end, int prot) { FILE *f =3D opaque; + uint64_t mask; + int width; =20 - fprintf(f, TARGET_ABI_FMT_ptr "-" TARGET_ABI_FMT_ptr - " " TARGET_ABI_FMT_ptr " %c%c%c\n", - (abi_ptr)start, (abi_ptr)end, (abi_ptr)(end - start), + if (guest_addr_max <=3D UINT32_MAX) { + mask =3D UINT32_MAX, width =3D 8; + } else { + mask =3D UINT64_MAX, width =3D 16; + } + + fprintf(f, "%0*" PRIx64 "-%0*" PRIx64 " %0*" PRIx64 " %c%c%c\n", + width, start & mask, + width, end & mask, + width, (end - start) & mask, ((prot & PAGE_READ) ? 'r' : '-'), ((prot & PAGE_WRITE) ? 'w' : '-'), ((prot & PAGE_EXEC) ? 'x' : '-')); @@ -215,10 +225,10 @@ static int dump_region(void *opaque, vaddr start, vad= dr end, int prot) /* dump memory mappings */ void page_dump(FILE *f) { - const int length =3D sizeof(abi_ptr) * 2; + int width =3D guest_addr_max <=3D UINT32_MAX ? 8 : 16; =20 fprintf(f, "%-*s %-*s %-*s %s\n", - length, "start", length, "end", length, "size", "prot"); + width, "start", width, "end", width, "size", "prot"); walk_memory_regions(f, dump_region); } =20 @@ -1135,7 +1145,7 @@ static uint64_t do_ld8_mmu(CPUState *cpu, vaddr addr,= MemOpIdx oi, return ret; } =20 -static Int128 do_ld16_mmu(CPUState *cpu, abi_ptr addr, +static Int128 do_ld16_mmu(CPUState *cpu, vaddr addr, MemOpIdx oi, uintptr_t ra) { void *haddr; --=20 2.43.0 From nobody Sat Nov 15 22:35:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1746111394; cv=none; d=zohomail.com; s=zohoarc; b=mmuldCzUUSeiMHSTv1ulKXK8rvW2zZm22eykUU+ZnMI/DqtANkXw9adptRLCND+Dp13zMFkeWf/MHahfqRJzJavtj9wT3BeJEAvifNIsyF9Dl5Qg9Wtk/IsZLQnUv2yGLrsE2KUI38sgizyw4UvIcjn3gy9nfIekp/wd/WhqQ88= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746111394; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=NpsPRpqYy0EdExgjwMRc7rUCQIZJoGgOry5zvIX2oes=; b=esMENp62Yr6QWeti33P7T3RXv2iVzkK0M8OayPKlUYwezkKwVlDHDnng8tN1DoWYpevEKx4F9EMyGFAtDTivY36BpayO/mlsYe8+xt6vPjxucrcwPSCY577H5RXJjqmngcATet+jSBQ3/MuvXBG2HXm3BIbm5E57ntICEdCIYQw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1746111394467992.8511491084561; Thu, 1 May 2025 07:56:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uAVKB-0005jf-D7; Thu, 01 May 2025 10:55:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uAVK2-0005i4-7U for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:34 -0400 Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uAVJz-0005Xx-0f for qemu-devel@nongnu.org; Thu, 01 May 2025 10:55:32 -0400 Received: by mail-pg1-x52a.google.com with SMTP id 41be03b00d2f7-7fd35b301bdso1303365a12.2 for ; Thu, 01 May 2025 07:55:30 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e0bb0e770sm7644415ad.92.2025.05.01.07.55.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:55:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746111329; x=1746716129; 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=NpsPRpqYy0EdExgjwMRc7rUCQIZJoGgOry5zvIX2oes=; b=gDmTO3ymeJj/466t7O2qs5cwyfmf4fVSjht1MjXZjUMSVyMVAMkfnHhNfsRsG2XUQb YqF7q7rdDpAS/4i3V8bp2JVt8hIizOjf+KK0uaaTUvuA7NPT4O4ZfkiltZ97AXbLCDmm g2lY8khXDngiv3RYzgLRZmWfLmUrtThhwu8n9tbDe9i9Z/L8IkOgPnXRMG4RkAWm2FP5 9FbRqCjUX/lAsvGVL33Q9xKr5jBRibghAM3mZ1Q8+03lR1a7P3JmNBw+9VW2zEDqxZNq MzYTrgAevYfqH0V8y2oABmu2zjUZ04tekmiK+C6CghqdqLG7SOpoxDkqkTLN0vNwoC/S 4sjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746111329; x=1746716129; 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=NpsPRpqYy0EdExgjwMRc7rUCQIZJoGgOry5zvIX2oes=; b=tRj7cONz6zL90c6bJ7k4zPLmJufk8khiAhAtHdiAzQVksI+tyJ76QKqr3E5Yqd5Bpk 1jasEO+LjWPoeERUKXH0KSNIb7qk9/SbO5m5TcVIO5JHetwKls8jTTN6dOs1arPCBM+I qoue+/SfyundzWTEmESGeh6DkcBjrY3JXo0+0/35dxVNA4tOwHSnz1S8b7z537tWHKqa Flll3YWLS2yM9LIAIJEXruN4yZdo5HHqA7PhSuzMExYrCn7GFSFYSE8eHYrNd3BRqc6g Z5aNsd3RqD82cscpLGkqG0J3YQ4UKZcBs/ngyc2Sevo5iGCwfberyiYr5xyIQIt15sLm wyFw== X-Gm-Message-State: AOJu0Yy45Sd8VMxZBKOWzPdMSz9Iw/bhYY5RLfS/ABx2NDBaa1o0KYWW phsG++rFNOiT1uQKH0cGbQ3KUENSK5PS6xDYSBCvbjZPzluH9YPOrl9ReoxuwA3v4ez4TVFdAS7 9 X-Gm-Gg: ASbGncsGYLpRjOX2uGR1TPs3zLs7f4X21Y4G1OLD6CYYWo99K50yNmNOcC8HmUFhE0G 40lyVXhzP0e7tKYnt6wRPe1ZS82KeYj1xjbPbmdiPcasi46JPYeVlskmYd3QA/8q6WhqBwPv53e EGOzhbCUreZ51Fih9urmIZZ2J06JbzqGrhlJ1PT1n9ETcHGOB3UR2fH5jMB8bi1uNxFntaoQU1V 4brdaLmdq6FyKCrfoY97gr3cbQFRBdMHaWjrsc9q8Ljka4fdlfn3uiuc8xXgN9IJq1088CNgY7v 4wjJlysn01zcT+DlhwW/kqCpPYcpB7CxAYcQLzUGuGSJWj/Ex0DbjsjK/d1g252ewUMqsupTHIM fL7uyWU+4+g== X-Google-Smtp-Source: AGHT+IEkihyDrcdG5GTmO0kCkbmbJIyn/QC/dRNyBK/I2JvpfRA+6N6GWqZcZYqCBIHl6KOCSHB5nQ== X-Received: by 2002:a17:90b:2247:b0:2ff:52e1:c49f with SMTP id 98e67ed59e1d1-30a34467cbfmr9183749a91.26.1746111329146; Thu, 01 May 2025 07:55:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 11/11] accel/tcg: Build user-exec.c once Date: Thu, 1 May 2025 07:55:19 -0700 Message-ID: <20250501145520.2695073-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250501145520.2695073-1-richard.henderson@linaro.org> References: <20250501145520.2695073-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::52a; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1746111396572019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- accel/tcg/user-exec.c | 5 ++--- accel/tcg/meson.build | 5 +---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c index 085da0c036..f25d80e2dc 100644 --- a/accel/tcg/user-exec.c +++ b/accel/tcg/user-exec.c @@ -19,13 +19,12 @@ #include "qemu/osdep.h" #include "accel/tcg/cpu-ops.h" #include "disas/disas.h" -#include "cpu.h" #include "exec/vaddr.h" #include "exec/tlb-flags.h" #include "tcg/tcg.h" #include "qemu/bitops.h" #include "qemu/rcu.h" -#include "accel/tcg/cpu-ldst.h" +#include "accel/tcg/cpu-ldst-common.h" #include "accel/tcg/helper-retaddr.h" #include "accel/tcg/probe.h" #include "user/cpu_loop.h" @@ -33,7 +32,7 @@ #include "qemu/main-loop.h" #include "user/page-protection.h" #include "exec/page-protection.h" -#include "exec/helper-proto.h" +#include "exec/helper-proto-common.h" #include "qemu/atomic128.h" #include "qemu/bswap.h" #include "qemu/int128.h" diff --git a/accel/tcg/meson.build b/accel/tcg/meson.build index 9b86051b82..d6f533f9a1 100644 --- a/accel/tcg/meson.build +++ b/accel/tcg/meson.build @@ -21,11 +21,8 @@ endif libuser_ss.add_all(tcg_ss) libsystem_ss.add_all(tcg_ss) =20 -tcg_specific_ss =3D ss.source_set() -tcg_specific_ss.add(when: 'CONFIG_USER_ONLY', if_true: files('user-exec.c'= )) -specific_ss.add_all(when: 'CONFIG_TCG', if_true: tcg_specific_ss) - libuser_ss.add(files( + 'user-exec.c', 'user-exec-stub.c', )) =20 --=20 2.43.0