From nobody Sat Oct 4 23:37:33 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1759205647; cv=none; d=zohomail.com; s=zohoarc; b=NJxSQ3HL6k1vqqYV0gkCbvizTU3tpKNJLMTERFOBnm5Kzvxwub5A/Zdexg4Rur12HlVIaQqfvCHa213AgyMVN/JbBBS2bqqdS+1eTN2w8oJSCXSzPNzVI+iSsPJE8ZxHdKaBYZojOK2grqqVIz9AR5kgTEgc6L3NX/pFkhZIBbg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1759205647; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=J6XZQA4g1t2k7eXHW7Di/TUkQvEa/xc7WHxCnzJSKoM=; b=LRHzV3nTy0cNf8jijtSvF94eOFv2jAX/HYG/XCznqpQSG+8dvH5ZWj8KGBz6EsYrXw+2PrzWnZAXuUHUbamrCXE0XdHQh5PF2di3ahIuLauLmXfHmx37g9CbCtRwwole/PQ+HAWEhxFs7nS7bFDXVX3RiJ4ruIxVfbjO96/UaNg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 175920564746975.86503284814228; Mon, 29 Sep 2025 21:14:07 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1133437.1471568 (Exim 4.92) (envelope-from ) id 1v3RkM-0007XU-LN; Tue, 30 Sep 2025 04:13:50 +0000 Received: by outflank-mailman (output) from mailman id 1133437.1471568; Tue, 30 Sep 2025 04:13:50 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1v3RkM-0007XN-I8; Tue, 30 Sep 2025 04:13:50 +0000 Received: by outflank-mailman (input) for mailman id 1133437; Tue, 30 Sep 2025 04:13:48 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1v3RkK-0006gD-Dl for xen-devel@lists.xenproject.org; Tue, 30 Sep 2025 04:13:48 +0000 Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [2a00:1450:4864:20::42b]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id dc2685f6-9db3-11f0-9809-7dc792cee155; Tue, 30 Sep 2025 06:13:46 +0200 (CEST) Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3ee1221ceaaso4373187f8f.3 for ; Mon, 29 Sep 2025 21:13:46 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-40fc56f7badsm20596977f8f.29.2025.09.29.21.13.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 29 Sep 2025 21:13:45 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: dc2685f6-9db3-11f0-9809-7dc792cee155 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759205626; x=1759810426; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=J6XZQA4g1t2k7eXHW7Di/TUkQvEa/xc7WHxCnzJSKoM=; b=rvEfaaVf5DZYXnk02ew5puqhy9s9ozh72EXeXMu2qbrNQbdwCrLPTNo0+TSPGZJ7sM EQ/aEWBdV9SqJLKmrOOgUJy3swe2haJEsI9u9atJPi+Bir7hGna7CfCz75NP+Nm08XEi lOzIgCV1i1ja9BHuAoaQn+NteDTeGHZ4BYCDtj/vh/9cU4TK5YZpvjNjZFrsxxCt4PyY EMtU/t5PZfM+MYZFmEtpswkSJTQzo/wRqyHaPWuf54yeE/jKLfTIaShviFLif1j4pWO8 Rwd8OQ/vTUnf5qAbY8nSiTPVS8nmGJghjwgOiwptzZEEX4WrVOtOSN/R5oaHpmxAPr6u wamg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759205626; x=1759810426; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=J6XZQA4g1t2k7eXHW7Di/TUkQvEa/xc7WHxCnzJSKoM=; b=WfieuLb1DJgnXOa22p0fh4qgX/sNGz6YS3khFhn8tESq8il2fNdfUe5xxc6kVhOXl+ phprWbcgQxfZLC/PtcvKt6kBrgRCCe6ctm3Bd8wHzkkM+/NZhj19iqRse3m44JKif2BS be0NJglU3RBu7hwoqd68msVmF2CS6l4ZPlya4cxRxQUH31VbQEeYlcTum6skr+LKFaxK YZKBl2l5WmnEoF/RbbVdMKS0k5tMOov3c5RU0Jqnlj/1BHrwpcmasS4rSWpGbNK1HPuu /Ka0BaoWueOxd/k1KWSBnW4DqL9OuVNt4+ZBk4HPh8Usj4MpAhwkfdUNDAIS+O+Y44xE fvKQ== X-Forwarded-Encrypted: i=1; AJvYcCXRoGfJOvuxw5SA2GUyzd5vd1KmpG4VrFsqluNWEXBsVASWKRF5Z2H0B6+7BkJhgkEB0Ll5XLWJNDM=@lists.xenproject.org X-Gm-Message-State: AOJu0Yxy8pDQc5IDyd3qZq5In3DPW+h9qyetWaNmTYxXbub2KYLxhzBJ +bMJ2oVMf8SARbGjkQJkM7X5zGDZ7EwbsyLnZ9GhCXleUDGLnSxrnKEqwIwHqsTaFsA= X-Gm-Gg: ASbGncsQEZCt0XAPN0lxlEAJveFejIXyQBArbhE+IxSxALWwNYaix8LkhAUSw3J8aE5 iAmIATNswBaC6r7KlOhh0sQ/u6tooEu68bCSuWKmcu/Yu3HvWicU5j+TUnER0UR9wtsMx8D3pY/ 5PJIeys94jXc0X8tFsKque5zCWNz1p3Hz9X/C1+3FxyBp13QaLQYvxzWlAmJTLyWA4jOGfS+GIo Bh2aY8mCeUKXzqq4knlnf+Hs534XwUTuC7JobqIUeB7TFI8fDz6hm2XJ9xgoZvTsXBRFw/leuc0 JCc3hNKRjkOTggASH6SSJS+on3W3SBHN5L8Hi9bZHOQ9f55qVJmzgWa5rSNKlbNRTB1qrJBzM1B cxaqrsc6P2rBKN+rXgujaWeU0SzSIoRIS7jM8/LCjF7USLNgh42xB4B0pkY+6jgoLMcg0BXFrjc UeeqVMuMM1Phb0SnPStEf1xbnLRuPov/0XrwohLatZmA== X-Google-Smtp-Source: AGHT+IH4qhPqaNC0ZqE7vVzxj8tSipzOFCi7y5DLl309Ye1K/9debpwVgj0eZ2sdSCTFy4WRMq+1ZQ== X-Received: by 2002:a05:6000:2901:b0:3ef:42fe:8539 with SMTP id ffacd0b85a97d-40e47ee0a37mr19502672f8f.25.1759205626154; Mon, 29 Sep 2025 21:13:46 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Peter Maydell Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jason Herne , Stefano Stabellini , Stefano Garzarella , xen-devel@lists.xenproject.org, Paolo Bonzini , Ilya Leoshkevich , Anthony PERARD , Paul Durrant , Eric Farman , Marcelo Tosatti , Halil Pasic , Matthew Rosato , Reinoud Zandijk , Zhao Liu , David Woodhouse , Christian Borntraeger , Sunil Muthuswamy , kvm@vger.kernel.org, "Michael S. Tsirkin" , Peter Xu , Thomas Huth , qemu-s390x@nongnu.org, "Edgar E. Iglesias" , Richard Henderson , David Hildenbrand Subject: [PATCH v2 03/17] system/memory: Factor address_space_is_io() out Date: Tue, 30 Sep 2025 06:13:11 +0200 Message-ID: <20250930041326.6448-4-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20250930041326.6448-1-philmd@linaro.org> References: <20250930041326.6448-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1759205649056116600 Factor address_space_is_io() out of cpu_physical_memory_is_io(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Thomas Huth --- include/system/memory.h | 9 +++++++++ system/physmem.c | 21 ++++++++++++--------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/include/system/memory.h b/include/system/memory.h index 3e5bf3ef05e..546c643961d 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -3030,6 +3030,15 @@ static inline MemoryRegion *address_space_translate(= AddressSpace *as, bool address_space_access_valid(AddressSpace *as, hwaddr addr, hwaddr len, bool is_write, MemTxAttrs attrs); =20 +/** + * address_space_is_io: check whether an guest physical addresses + * whithin an address space is I/O memory. + * + * @as: #AddressSpace to be accessed + * @addr: address within that address space + */ +bool address_space_is_io(AddressSpace *as, hwaddr addr); + /* address_space_map: map a physical memory region into a host virtual add= ress * * May map a subset of the requested range, given by and returned in @plen. diff --git a/system/physmem.c b/system/physmem.c index 2d1697fce4c..be8e66dfe02 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -3358,6 +3358,17 @@ bool address_space_access_valid(AddressSpace *as, hw= addr addr, return flatview_access_valid(fv, addr, len, is_write, attrs); } =20 +bool address_space_is_io(AddressSpace *as, hwaddr addr) +{ + MemoryRegion *mr; + + RCU_READ_LOCK_GUARD(); + mr =3D address_space_translate(as, addr, &addr, NULL, false, + MEMTXATTRS_UNSPECIFIED); + + return !(memory_region_is_ram(mr) || memory_region_is_romd(mr)); +} + static hwaddr flatview_extend_translation(FlatView *fv, hwaddr addr, hwaddr target_len, @@ -3754,15 +3765,7 @@ int cpu_memory_rw_debug(CPUState *cpu, vaddr addr, =20 bool cpu_physical_memory_is_io(hwaddr phys_addr) { - MemoryRegion*mr; - hwaddr l =3D 1; - - RCU_READ_LOCK_GUARD(); - mr =3D address_space_translate(&address_space_memory, - phys_addr, &phys_addr, &l, false, - MEMTXATTRS_UNSPECIFIED); - - return !(memory_region_is_ram(mr) || memory_region_is_romd(mr)); + return address_space_is_io(&address_space_memory, phys_addr); } =20 int qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque) --=20 2.51.0