From nobody Fri Nov 14 23:28:02 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=1759162166; cv=none; d=zohomail.com; s=zohoarc; b=lLU/O9IW+SaTeIeJnWdaaBs5++OovX7yg8ZvrJ0RUf1L3b5Mima6CbU1aBctV/pUN6NakBfy5q1xJV/iGyOMxiCVz2xwNncmw4FEVg5zXGmKjHHI3F+/CHnAFBnI2yl1vK2iYi99MPb45ffmbZ1GKwdgcI+ApZ1KeUntDRaVEqA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1759162166; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=opf5AG1XfLO8GoawGiZhJ2gSkTioavJ7xaDVzcsz0jU=; b=VTdhriArMvsAuM3K5VIAMJwHP/y3Jc5sXZZ9cZKPKbQ4108ja4ZdR8QJz7iPSMetn1eJ1YZ73oL34VOeeP/ciVzdae1eyYXij1fEkx768h+dEAYACDvgv1fvWj4Iiz10oIFJD+ZhrD67S26+XiSGhZZOkS5UqZ+lLRRxZBN+AAQ= 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 1759162166669458.75975614250785; Mon, 29 Sep 2025 09:09:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v3GQH-0000Mv-C9; Mon, 29 Sep 2025 12:08:21 -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 1v3GQF-0000MR-Ac for qemu-devel@nongnu.org; Mon, 29 Sep 2025 12:08:19 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v3GQD-0004EE-34 for qemu-devel@nongnu.org; Mon, 29 Sep 2025 12:08:19 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-46e37d10ed2so46697265e9.2 for ; Mon, 29 Sep 2025 09:08:16 -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-40fb9e1bd14sm19662924f8f.28.2025.09.29.09.08.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 29 Sep 2025 09:08:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759162094; x=1759766894; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=opf5AG1XfLO8GoawGiZhJ2gSkTioavJ7xaDVzcsz0jU=; b=BwZzkwD1bBYsRcs4Ke6vhaz3zKyoDnR9M6zChzboBMbsX5AFQM1SfCKXCIJHipZ7QB YUDOclJmXh3Ub9ToKjGEyhu0E73vLeRp+OPUbpLjYvhW9n5teX1wbXTM9whk/JoTKDLn B3/qF5+ijZbCLViyOlnZ2cxzp2J3Iw9CxFvzmYCIrk7Cwg/RlHYukgiFga6fWNbpZDBB /3Lu2rxE+PdGoUz7KbWPO23ZuhCILs4z6QOb1X7wwabuput9ODlBijVw/qKb1caqu1aS lwsiwwoW4/aYclArXKNuxCWPlBE2MuxlWW1yl/RMWZPa8T1bzT7Sz/bE+uZXRz26rNvi 8r2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759162094; x=1759766894; 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=opf5AG1XfLO8GoawGiZhJ2gSkTioavJ7xaDVzcsz0jU=; b=tD0u4FIu+3tlebbC1UJFMM+LfX/GxNu+isEe4t+ZkeeSkRmrCgWWGa0yWjhLHV8DvR C5GPDk79ZaxvIQFFaK1HVKjodsZDSx4kbu5MiKVn/ghyzNMIU/SmU0U+QRIuRQB5zGbe /nOT+cA6eR1hXgXDb4ivOOLt4zYK00ZR9JSCm+4QySIi+ruZDWlTTKnG37f6OtG6owUw ckPk1Pcf9kkaq3MzEVOZxJ67INKXyO4bIu49nN+/PFdZq6dhkObyO5B0j4bkepKng/0g 0VPyd8GrWNkSHXFSl5Owa8fGi4ju9CEA6umVjJgcGpOJLs+g1F33BSu/GkZFFCx+qPGM GvJQ== X-Gm-Message-State: AOJu0Yy9ayeTWNCGaaUu7VefZs3CdtzRGwx0mEj4HXNAfc1CAg5j9grr 4HiE4Dio4T1w8gUS6717G3M3Zauo2w7AbV57TJ0Qs+lf1TzCyE4sRO9DUjCzbe818RE0oa8vdRI GPpPVAcalTw== X-Gm-Gg: ASbGncvfSmhbZOa07KkrgfmKwkZglCgAay5J9z0Itk38np4Z0bGihru1A7YAH2i3H5h za3n0rPnOTQqdEARS+j05/JyRiC3U7icO/TT8S/ROt8Bh2/efebkrz2PPjIT+KqiPgLhT7IZnm2 +O04+Ossiztm+oy4M2K03ZabHds0DVZ9VFdvoA3CzTIEZMmEDJsiDTAf60repdTwiQoN8IiJ9xe D9MhBbto+sL0EqIRyW03liSHh0zv3vw3PsaiW25G6mDtNJPuY7bXNTudtO6E5Qa6543QQGAzWoB ZQcLnjsVl4hY6D9Rj1BuPR9AFI0dIG2Veach2on5eGBsRxGjStCJMq34buEkuNSiCWgOtlk0cM4 zI4t9SIYL9aXg6T3ChtM+28/TXCB9jMqHS+5WYwf2fG4icnsdhn6FElYjtIKS8nDz85G1dk6JEL W9UeSEN9E= X-Google-Smtp-Source: AGHT+IE55cx0yE+4DTBrDw+WQ62NKL9NeSPaZs9GoaWtbURD5wgxRsvtSqJnuJMa6zvT77LXrZ/3cg== X-Received: by 2002:a05:600c:4748:b0:46e:43fa:2dd7 with SMTP id 5b1f17b1804b1-46e43fa2e79mr84438065e9.24.1759162094101; Mon, 29 Sep 2025 09:08:14 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Thanos Makatos , John Levon , Alex Williamson , Eric Auger , Zhenzhong Duan , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 1/3] system/iommufd: Use uint64_t type for IOVA mapping size Date: Mon, 29 Sep 2025 18:08:05 +0200 Message-ID: <20250929160807.73626-2-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20250929160807.73626-1-philmd@linaro.org> References: <20250929160807.73626-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.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: 1759162168889116600 The 'ram_addr_t' type is described as: a QEMU internal address space that maps guest RAM physical addresses into an intermediate address space that can map to host virtual address spaces. This doesn't represent well an IOVA mapping size. Simply use the uint64_t type. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/system/iommufd.h | 6 +++--- backends/iommufd.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/system/iommufd.h b/include/system/iommufd.h index c9c72ffc450..a659f36a20f 100644 --- a/include/system/iommufd.h +++ b/include/system/iommufd.h @@ -45,12 +45,12 @@ bool iommufd_backend_alloc_ioas(IOMMUFDBackend *be, uin= t32_t *ioas_id, Error **errp); void iommufd_backend_free_id(IOMMUFDBackend *be, uint32_t id); int iommufd_backend_map_file_dma(IOMMUFDBackend *be, uint32_t ioas_id, - hwaddr iova, ram_addr_t size, int fd, + hwaddr iova, uint64_t size, int fd, unsigned long start, bool readonly); int iommufd_backend_map_dma(IOMMUFDBackend *be, uint32_t ioas_id, hwaddr i= ova, - ram_addr_t size, void *vaddr, bool readonly); + uint64_t size, void *vaddr, bool readonly); int iommufd_backend_unmap_dma(IOMMUFDBackend *be, uint32_t ioas_id, - hwaddr iova, ram_addr_t size); + hwaddr iova, uint64_t size); bool iommufd_backend_get_device_info(IOMMUFDBackend *be, uint32_t devid, uint32_t *type, void *data, uint32_t = len, uint64_t *caps, Error **errp); diff --git a/backends/iommufd.c b/backends/iommufd.c index 2a33c7ab0bc..fdfb7c9d671 100644 --- a/backends/iommufd.c +++ b/backends/iommufd.c @@ -197,7 +197,7 @@ void iommufd_backend_free_id(IOMMUFDBackend *be, uint32= _t id) } =20 int iommufd_backend_map_dma(IOMMUFDBackend *be, uint32_t ioas_id, hwaddr i= ova, - ram_addr_t size, void *vaddr, bool readonly) + uint64_t size, void *vaddr, bool readonly) { int ret, fd =3D be->fd; struct iommu_ioas_map map =3D { @@ -230,7 +230,7 @@ int iommufd_backend_map_dma(IOMMUFDBackend *be, uint32_= t ioas_id, hwaddr iova, } =20 int iommufd_backend_map_file_dma(IOMMUFDBackend *be, uint32_t ioas_id, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, int mfd, unsigned long start, bool readon= ly) { int ret, fd =3D be->fd; @@ -268,7 +268,7 @@ int iommufd_backend_map_file_dma(IOMMUFDBackend *be, ui= nt32_t ioas_id, } =20 int iommufd_backend_unmap_dma(IOMMUFDBackend *be, uint32_t ioas_id, - hwaddr iova, ram_addr_t size) + hwaddr iova, uint64_t size) { int ret, fd =3D be->fd; struct iommu_ioas_unmap unmap =3D { --=20 2.51.0 From nobody Fri Nov 14 23:28:02 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=1759162167; cv=none; d=zohomail.com; s=zohoarc; b=mwT8u1H1MQIGxPlj6EHsWT2D8JsQtKO1t+dyjnxWp/f7+IgULSv99qMRGnL8x5lhrFuRdZa7wULyJolnSOsInprkMKagBCo/IpppbayJYptbinkAC2lNfQnE2zdudlprIIQAoOD/DSdxQoiN26ZfEJwgC46P5bEc04DdCTVOehg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1759162167; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=uTK51mAJt6thgDZtg+lOa2Lrc6S+rDAyrgkNL3oUMcQ=; b=me5ZqTICh33gx3QPAy1EyGScMbYymvC7+Wp+HzMnXkvOMthrBxQ2wgwgqH9OqZE+XJBrJmVqTKORGww7DFwAwfpQcaJ3AvB1bp9zVRpkAQLMgn6v9ctjQs07lB4rKSCQMbi288FfwnUJ/WU76LU+n7DDrfCpE1e/WvfwxXVCKx8= 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 1759162167020555.0539771309302; Mon, 29 Sep 2025 09:09:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v3GQP-0000ON-IJ; Mon, 29 Sep 2025 12:08: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 1v3GQL-0000O5-Kv for qemu-devel@nongnu.org; Mon, 29 Sep 2025 12:08:25 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v3GQH-0004F7-Na for qemu-devel@nongnu.org; Mon, 29 Sep 2025 12:08:24 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3f1aff41e7eso3825551f8f.0 for ; Mon, 29 Sep 2025 09:08:21 -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-40fc6921bcfsm20048866f8f.43.2025.09.29.09.08.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 29 Sep 2025 09:08:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759162099; x=1759766899; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uTK51mAJt6thgDZtg+lOa2Lrc6S+rDAyrgkNL3oUMcQ=; b=Sz6iMLJt6rZ7fHAjmsvx2sc3fNrD8XfvoWYBvODqSpA33nzon1YzNkxLHel0yZnOiD LOCgqvTxmDTVhuuVLfOdfRZ3sGxRIiWsRniXqABmRplqQd8A90Ql47kKOm/r/j+ZuXGY BRy4Qo4NPYlIZC1jwD65TUh3epbZUGaGKgdJE/O77YdWJKEhNhc9EAMWL4xNTi/WYgES 8u+etym0sCA4RNnFCi7dgc9oxTfRXjOTyDiF2ks1ENrtgEGbi4cSai4x2HjFWy1Jhmz4 D9ONJgmqkRt6G30hWyz+NSF8gss9kIZY8G04vTB81DTaQRUQLxC5uMGxX2nYFyUnW/KG jxpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759162099; x=1759766899; 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=uTK51mAJt6thgDZtg+lOa2Lrc6S+rDAyrgkNL3oUMcQ=; b=CXGUV+vA1MPINhU6C0DxxqEk0kYBxAQZe2uReBlPETMZ1Z3fUbQT2nQbwA67AZRLs5 p3AckzRTOKcFaoNcpYU6hWsZVQ+KknS0Ijp1Z1RN/LClUMzS6fHKB6j9cPYnzy1SdCbp SaCIIqxfQUHTKCWLpptlHOxj50Z3WRAvG6KeoEsrdUlvLvvifaRUuq0TxUAehMRZ/Akz qZsPTeMH1/ryjEl314oyZc8+xSgVL/3w2tBFSv2wEormIfx0eNYM1mRVdec7sanDIzub H6EUVLWJIo8fbhbBe0Ya0x1+SFa1BkV4jqbkUkfTHB/Uqeuu8xQRHNm1N8Dj12uHur1A DmZw== X-Gm-Message-State: AOJu0YynOFizp563almXicqM+U1jeAaJZySRd1UIMGC759ihQOuqVqZN 84QTAAFN6S4Xzvn8Op/HnETJAsRP/M2TTR7fZXAlGHDi61COr9W7eOhZZlyhdjRg7DHBSIyF/Ud Warhf0X2dSw== X-Gm-Gg: ASbGncsnpXz/SpGB5qCdGeWqghvOqMXWucDn+5JQCs/0KTM8Nlh6xWzuYXTWuabTu9N 6/9z+7w/75VYgdkwVQ/rjfwaqth30Rt9bftf72hSinA+FxKcHRkrb8vXe5xV4ZAiYKpAm5rnakk m9dykxv7joztXFrI4x0WU66mkUGjriWY4y/jIAxnL8UQkx/BCj9FUxufMuqlJ7yvh2uuDoPSuXi HnOSUv6/Bb2EOvkB9hY0FESUk42ZvmGMSRn74AXmYQ8Qtvlp8gXsVVVFd9x6+MaLcgNt+aSVn8l 70LSrQNyDKzYGzQNxwLNC3nMIVMR/FTIpBHnxwyZw9WYEAEVknHdg9ROT89WErS7Zhzo1lzxLwL KV+YPNQyg2twOf5liw4wmRhTYocuVmh9O9EAV5xFrEuoLxBKndx87SIjgCDwy4NeaYEtbosK3Fw IKA/cxwbk= X-Google-Smtp-Source: AGHT+IEkmStbUrtOfCos80R7siZd+EYFL7YggpsBEc5lDsbAG7ajdiTlyKlnjqh4Bj2WDcWCKwM6wQ== X-Received: by 2002:a05:6000:3102:b0:3e0:152a:87b2 with SMTP id ffacd0b85a97d-40e429c9cdfmr16183196f8f.13.1759162099023; Mon, 29 Sep 2025 09:08:19 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Thanos Makatos , John Levon , Alex Williamson , Eric Auger , Zhenzhong Duan , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 2/3] hw/vfio: Avoid ram_addr_t in vfio_container_query_dirty_bitmap() Date: Mon, 29 Sep 2025 18:08:06 +0200 Message-ID: <20250929160807.73626-3-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20250929160807.73626-1-philmd@linaro.org> References: <20250929160807.73626-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=philmd@linaro.org; helo=mail-wr1-x431.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: 1759162168835116600 The 'ram_addr_t' type is described as: a QEMU internal address space that maps guest RAM physical addresses into an intermediate address space that can map to host virtual address spaces. vfio_container_query_dirty_bitmap() doesn't expect such QEMU intermediate address, but a guest physical addresses. Use the appropriate 'hwaddr' type, rename as @translated_addr for clarity. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/vfio/vfio-container.h | 3 ++- hw/vfio/container.c | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/include/hw/vfio/vfio-container.h b/include/hw/vfio/vfio-contai= ner.h index b8fb2b8b5d7..093c360f0ee 100644 --- a/include/hw/vfio/vfio-container.h +++ b/include/hw/vfio/vfio-container.h @@ -98,7 +98,8 @@ bool vfio_container_dirty_tracking_is_started( bool vfio_container_devices_dirty_tracking_is_supported( const VFIOContainer *bcontainer); int vfio_container_query_dirty_bitmap(const VFIOContainer *bcontainer, - uint64_t iova, uint64_t size, ram_addr_t ram_addr, Error **errp); + uint64_t iova, uint64_t size, + hwaddr translated_addr, Error **errp= ); =20 GList *vfio_container_get_iova_ranges(const VFIOContainer *bcontainer); =20 diff --git a/hw/vfio/container.c b/hw/vfio/container.c index 250b20f4245..9d694393714 100644 --- a/hw/vfio/container.c +++ b/hw/vfio/container.c @@ -246,7 +246,7 @@ static int vfio_container_devices_query_dirty_bitmap( =20 int vfio_container_query_dirty_bitmap(const VFIOContainer *bcontainer, uint64_t iova, uint64_t size, - ram_addr_t ram_addr, Error **errp) + hwaddr translated_addr, Error **errp) { bool all_device_dirty_tracking =3D vfio_container_devices_dirty_tracking_is_supported(bcontainer); @@ -255,7 +255,7 @@ int vfio_container_query_dirty_bitmap(const VFIOContain= er *bcontainer, int ret; =20 if (!bcontainer->dirty_pages_supported && !all_device_dirty_tracking) { - cpu_physical_memory_set_dirty_range(ram_addr, size, + cpu_physical_memory_set_dirty_range(translated_addr, size, tcg_enabled() ? DIRTY_CLIENTS_= ALL : DIRTY_CLIENTS_NOCODE); return 0; @@ -280,11 +280,12 @@ int vfio_container_query_dirty_bitmap(const VFIOConta= iner *bcontainer, goto out; } =20 - dirty_pages =3D cpu_physical_memory_set_dirty_lebitmap(vbmap.bitmap, r= am_addr, + dirty_pages =3D cpu_physical_memory_set_dirty_lebitmap(vbmap.bitmap, + translated_addr, vbmap.pages); =20 - trace_vfio_container_query_dirty_bitmap(iova, size, vbmap.size, ram_ad= dr, - dirty_pages); + trace_vfio_container_query_dirty_bitmap(iova, size, vbmap.size, + translated_addr, dirty_pages); out: g_free(vbmap.bitmap); =20 --=20 2.51.0 From nobody Fri Nov 14 23:28:02 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=1759162185; cv=none; d=zohomail.com; s=zohoarc; b=lpvJpMLAHj+yXB8ofmHt2O40lvDQVClVUKX/L1Fe6x0iBW0TC0rjcv0kTwm5yck7Fx7e82DYA2ioXP+F/U4JqshncKYUju/F21iodvxNrpHt7Ta6piBLUq4tgz8pUNIsp9ufc1B0oKWdh0dekwq3/hRXALL6JY53UwJ1erAgnlw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1759162185; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=pPUY25OpRf2StCPP4Enm4s8CN2RqByc85IXcJXZI+xY=; b=Hs5wwzyFs/e1mcUXX2eIXiTy8cFsIRGN70W6pPrje54nXoqzAX3ViG/yKe/oRjDrBtARHZwyVRFvVG3oY0yHLbbBvfk4jgv2KqkquGEGB5lvpPCjtI39NUUX1WaMr8w+YzxZh6QSm7kGY/BAK/6ezrS72LMJKK9U0zKaT2dUBhY= 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 1759162185486529.8447221863886; Mon, 29 Sep 2025 09:09:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v3GQS-0000Qo-Pv; Mon, 29 Sep 2025 12:08: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 1v3GQQ-0000On-4C for qemu-devel@nongnu.org; Mon, 29 Sep 2025 12:08:30 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v3GQM-0004Fb-PR for qemu-devel@nongnu.org; Mon, 29 Sep 2025 12:08:29 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-46e42fa08e4so26254625e9.3 for ; Mon, 29 Sep 2025 09:08:26 -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-40fc72b0aeesm19293029f8f.49.2025.09.29.09.08.22 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 29 Sep 2025 09:08:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759162104; x=1759766904; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pPUY25OpRf2StCPP4Enm4s8CN2RqByc85IXcJXZI+xY=; b=A3dKCHhfBf4K6jGU3+afV6qpT0YdMnSIftHIOs2P0yBA7oF9X27glEkOfR+GfoH0vA eCReMjkeuZQCetCWwPtaRYcCzsulmMNSt7K9OcS8MtT2AGLE44fbHjeeWCpKclc6ALaY xmMwW4hm0vcekXFVbcqGuKifMUsvPh/RA5+mMriEEnYFX47rrYVGxVIuXeMxqAl9t+5/ dSt3Sm/wLdcOHzSgzmDrBYCJh1Gz8rB/D6gI6GhIkWNHnU17xmJeGdyVvW2roRWoH00d +M6qRzAIaHKqih7nOfnUP/Tq2ahsUDgcr1OSFJG2H/0L6fH37CsX/SoIMOnjJIbQHqso MwcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759162104; x=1759766904; 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=pPUY25OpRf2StCPP4Enm4s8CN2RqByc85IXcJXZI+xY=; b=J/CeE6cfRzeyL6Ns1VeV/QbcJs4l1P36Nca8+bC9OVQ3vvzrEmjgqyU60f8WddfP0/ OU8JCrcSp6nuooMlp2EAlrFoL4HLQOWrzHpou9XYZ0VV29Jh5G2+FGeQy13DhPWTsuHd r0jfiHxEWVLbIg1lVcakc+ElkGiDLYzRD5ryeaYrch8L6ObViSxOyExvDnwyL2vbGQL6 +TPsCsxXeuv+N6T2DtsWMrquHt+kTmBfa/DOmz2Zr7HgeZEyoi0FT5FyC7/uZLyieJV1 bQPGH9h92jmGdz5/KRgFB/N5CDKRVqKgJpS2rez3BpJt2xobhqdJZuaOp1iFT5IgfXnk 0yew== X-Gm-Message-State: AOJu0YxCLaqH3eEMwhwmE8qmjLymNhMlOagqkIBwzPxin7jfAuXAvtkB yu8aNeJRGFBKaH6RXRcWfzx/We4IqNyGH6roMsmc+UgjDlU4J+ijfSmchemo1dqUxuZgKnWKO/A AQBfGukMhjg== X-Gm-Gg: ASbGncu7/xamsDmiURkbWWVmBUB3Jvp8lEJqW5r/9X2fX1IgSbHUHULlZt1YunH7zQM QS6liGo8ITEsMCvvGNdmQkAgkRlhjspy8oP5DbEoxqTpz+PNro1qiCk6qnG84Z3Ncv7v7ipqLAK OkAPv7K3XtZOkrNSHO8qfJR+hNNpCuhxNwVtQILs2ePKB3yUCWwPfSjALIu9tiS1UwmI5WfMjeu wRIDjaB5zqG5eYe7xHQ1rMe9vQytul83748tntbZmIQ+p4UR/dY4GTj1mq+gRfSt9wOSsusJo69 wba5RtWy0GJhbb6GgKlGWmV+whUM1WZ8+FCwfN47Q235QwJKH3XkEmF4wZ0LFdo/x0z6YIjiXsP c9PLBX3zCPk2A6kXv1+HY4OwA1A95G9dhmW7qJzFbv87QZUUZ9+2RYQojG44Q1NtzBXchkzmXfh 5ApuhZ5sE= X-Google-Smtp-Source: AGHT+IFD3i+7OtSGiOJAEoH0LLF+VL1bAQoCaKYcLhPFKIbotDQ15wwd0qmR1leVcbT25+V1qzR2/w== X-Received: by 2002:a05:600c:1c88:b0:45f:2919:5e6c with SMTP id 5b1f17b1804b1-46e329c5735mr246557515e9.16.1759162103840; Mon, 29 Sep 2025 09:08:23 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Thanos Makatos , John Levon , Alex Williamson , Eric Auger , Zhenzhong Duan , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 3/3] hw/vfio: Use uint64_t for IOVA mapping size in vfio_container_dma_*map Date: Mon, 29 Sep 2025 18:08:07 +0200 Message-ID: <20250929160807.73626-4-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20250929160807.73626-1-philmd@linaro.org> References: <20250929160807.73626-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1759162187232116600 The 'ram_addr_t' type is described as: a QEMU internal address space that maps guest RAM physical addresses into an intermediate address space that can map to host virtual address spaces. This doesn't represent well an IOVA mapping size. Simply use the uint64_t type. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/vfio/vfio-container.h | 10 +++++----- hw/vfio-user/container.c | 4 ++-- hw/vfio/container-legacy.c | 8 ++++---- hw/vfio/container.c | 5 ++--- hw/vfio/iommufd.c | 6 +++--- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/include/hw/vfio/vfio-container.h b/include/hw/vfio/vfio-contai= ner.h index 093c360f0ee..c4b58d664b7 100644 --- a/include/hw/vfio/vfio-container.h +++ b/include/hw/vfio/vfio-container.h @@ -81,10 +81,10 @@ void vfio_address_space_insert(VFIOAddressSpace *space, VFIOContainer *bcontainer); =20 int vfio_container_dma_map(VFIOContainer *bcontainer, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, void *vaddr, bool readonly, MemoryRegion *mr); int vfio_container_dma_unmap(VFIOContainer *bcontainer, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, IOMMUTLBEntry *iotlb, bool unmap_all); bool vfio_container_add_section_window(VFIOContainer *bcontainer, MemoryRegionSection *section, @@ -167,7 +167,7 @@ struct VFIOIOMMUClass { * Returns 0 to indicate success and -errno otherwise. */ int (*dma_map)(const VFIOContainer *bcontainer, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, void *vaddr, bool readonly, MemoryRegion *mr); /** * @dma_map_file @@ -182,7 +182,7 @@ struct VFIOIOMMUClass { * @readonly: map read only if true */ int (*dma_map_file)(const VFIOContainer *bcontainer, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, int fd, unsigned long start, bool readonly); /** * @dma_unmap @@ -198,7 +198,7 @@ struct VFIOIOMMUClass { * Returns 0 to indicate success and -errno otherwise. */ int (*dma_unmap)(const VFIOContainer *bcontainer, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, IOMMUTLBEntry *iotlb, bool unmap_all); =20 =20 diff --git a/hw/vfio-user/container.c b/hw/vfio-user/container.c index 411eb7b28b7..e45192fef65 100644 --- a/hw/vfio-user/container.c +++ b/hw/vfio-user/container.c @@ -39,7 +39,7 @@ static void vfio_user_listener_commit(VFIOContainer *bcon= tainer) } =20 static int vfio_user_dma_unmap(const VFIOContainer *bcontainer, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, IOMMUTLBEntry *iotlb, bool unmap_all) { VFIOUserContainer *container =3D VFIO_IOMMU_USER(bcontainer); @@ -81,7 +81,7 @@ static int vfio_user_dma_unmap(const VFIOContainer *bcont= ainer, } =20 static int vfio_user_dma_map(const VFIOContainer *bcontainer, hwaddr iova, - ram_addr_t size, void *vaddr, bool readonly, + uint64_t size, void *vaddr, bool readonly, MemoryRegion *mrp) { VFIOUserContainer *container =3D VFIO_IOMMU_USER(bcontainer); diff --git a/hw/vfio/container-legacy.c b/hw/vfio/container-legacy.c index c0f87f774a0..3a710d8265c 100644 --- a/hw/vfio/container-legacy.c +++ b/hw/vfio/container-legacy.c @@ -69,7 +69,7 @@ static int vfio_ram_block_discard_disable(VFIOLegacyConta= iner *container, } =20 static int vfio_dma_unmap_bitmap(const VFIOLegacyContainer *container, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, IOMMUTLBEntry *iotlb) { const VFIOContainer *bcontainer =3D VFIO_IOMMU(container); @@ -122,7 +122,7 @@ unmap_exit: } =20 static int vfio_legacy_dma_unmap_one(const VFIOContainer *bcontainer, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, IOMMUTLBEntry *iotlb) { const VFIOLegacyContainer *container =3D VFIO_IOMMU_LEGACY(bcontainer); @@ -185,7 +185,7 @@ static int vfio_legacy_dma_unmap_one(const VFIOContaine= r *bcontainer, * DMA - Mapping and unmapping for the "type1" IOMMU interface used on x86 */ static int vfio_legacy_dma_unmap(const VFIOContainer *bcontainer, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, IOMMUTLBEntry *iotlb, bool unmap_all) { int ret; @@ -210,7 +210,7 @@ static int vfio_legacy_dma_unmap(const VFIOContainer *b= container, } =20 static int vfio_legacy_dma_map(const VFIOContainer *bcontainer, hwaddr iov= a, - ram_addr_t size, void *vaddr, bool readonly, + uint64_t size, void *vaddr, bool readonly, MemoryRegion *mr) { const VFIOLegacyContainer *container =3D VFIO_IOMMU_LEGACY(bcontainer); diff --git a/hw/vfio/container.c b/hw/vfio/container.c index 9d694393714..b5af3ac174c 100644 --- a/hw/vfio/container.c +++ b/hw/vfio/container.c @@ -15,7 +15,6 @@ =20 #include "qemu/osdep.h" #include "system/tcg.h" -#include "system/ram_addr.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "hw/vfio/vfio-container.h" @@ -74,7 +73,7 @@ void vfio_address_space_insert(VFIOAddressSpace *space, } =20 int vfio_container_dma_map(VFIOContainer *bcontainer, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, void *vaddr, bool readonly, MemoryRegion *mr) { VFIOIOMMUClass *vioc =3D VFIO_IOMMU_GET_CLASS(bcontainer); @@ -93,7 +92,7 @@ int vfio_container_dma_map(VFIOContainer *bcontainer, } =20 int vfio_container_dma_unmap(VFIOContainer *bcontainer, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, IOMMUTLBEntry *iotlb, bool unmap_all) { VFIOIOMMUClass *vioc =3D VFIO_IOMMU_GET_CLASS(bcontainer); diff --git a/hw/vfio/iommufd.c b/hw/vfio/iommufd.c index f0ffe235919..68470d552ec 100644 --- a/hw/vfio/iommufd.c +++ b/hw/vfio/iommufd.c @@ -35,7 +35,7 @@ TYPE_HOST_IOMMU_DEVICE_IOMMUFD "-vfio" =20 static int iommufd_cdev_map(const VFIOContainer *bcontainer, hwaddr iova, - ram_addr_t size, void *vaddr, bool readonly, + uint64_t size, void *vaddr, bool readonly, MemoryRegion *mr) { const VFIOIOMMUFDContainer *container =3D VFIO_IOMMU_IOMMUFD(bcontaine= r); @@ -46,7 +46,7 @@ static int iommufd_cdev_map(const VFIOContainer *bcontain= er, hwaddr iova, } =20 static int iommufd_cdev_map_file(const VFIOContainer *bcontainer, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, int fd, unsigned long start, bool readonl= y) { const VFIOIOMMUFDContainer *container =3D VFIO_IOMMU_IOMMUFD(bcontaine= r); @@ -57,7 +57,7 @@ static int iommufd_cdev_map_file(const VFIOContainer *bco= ntainer, } =20 static int iommufd_cdev_unmap(const VFIOContainer *bcontainer, - hwaddr iova, ram_addr_t size, + hwaddr iova, uint64_t size, IOMMUTLBEntry *iotlb, bool unmap_all) { const VFIOIOMMUFDContainer *container =3D VFIO_IOMMU_IOMMUFD(bcontaine= r); --=20 2.51.0