From patchwork Mon Sep 27 07:48:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ding, Xuan" X-Patchwork-Id: 99714 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6DCBCA0547; Mon, 27 Sep 2021 09:55:51 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 027C940686; Mon, 27 Sep 2021 09:55:51 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 2EE724003D for ; Mon, 27 Sep 2021 09:55:49 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10119"; a="309982133" X-IronPort-AV: E=Sophos;i="5.85,325,1624345200"; d="scan'208";a="309982133" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Sep 2021 00:55:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,325,1624345200"; d="scan'208";a="518467383" Received: from dpdk-xuanding-dev2.sh.intel.com ([10.67.119.250]) by fmsmga008.fm.intel.com with ESMTP; 27 Sep 2021 00:55:39 -0700 From: Xuan Ding To: dev@dpdk.org, maxime.coquelin@redhat.com, chenbo.xia@intel.com, anatoly.burakov@intel.com Cc: jiayu.hu@intel.com, cheng1.jiang@intel.com, bruce.richardson@intel.com, sunil.pai.g@intel.com, yinan.wang@intel.com, YvonneX.Yang@intel.com, Xuan Ding Date: Mon, 27 Sep 2021 07:48:04 +0000 Message-Id: <20210927074806.90020-1-xuan.ding@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210901053044.109901-1-xuan.ding@intel.com> References: <20210901053044.109901-1-xuan.ding@intel.com> Subject: [dpdk-dev] [PATCH v5 0/2] support IOMMU for DMA device X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This series supports DMA device to use vfio in async vhost. The first patch extends the capability of current vfio dma mapping API to allow partial unmapping for adjacent memory if the platform does not support partial unmapping. The second patch involves the IOMMU programming for guest memory in async vhost. v5: * Fix issue of a pointer be freed early. v4: * Fix a format issue. v3: * Move the async_map_status flag to virtio_net structure to avoid ABI breaking. v2: * Add rte_errno filtering for some devices bound in the kernel driver. * Add a flag to check the status of region mapping. * Fix one typo. Xuan Ding (2): vfio: allow partially unmapping adjacent memory vhost: enable IOMMU for async vhost lib/eal/linux/eal_vfio.c | 338 ++++++++++++++++++++++++++------------- lib/vhost/vhost.h | 4 + lib/vhost/vhost_user.c | 114 ++++++++++++- 3 files changed, 344 insertions(+), 112 deletions(-)