Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp49191rdb; Wed, 29 Nov 2023 19:44:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IEhjeVAglfCVM7I8zfw4j3s81UaH498lRJDyj4/wrD6F/Y9MdWWAKOEEmSRFL3hlJHWLsQB X-Received: by 2002:a05:6830:1da5:b0:6d8:37b6:78c0 with SMTP id z5-20020a0568301da500b006d837b678c0mr10132026oti.20.1701315873009; Wed, 29 Nov 2023 19:44:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701315872; cv=none; d=google.com; s=arc-20160816; b=g96DTovMCVBvBjf4a2Er2+961YZoSEwcug5Dx9TE9hcRaC8pt7Mpw9yaYPw2U/81XQ T+cffTv4V4uL40iDqORNzCZkupMtWCVQFzoOso9o5aYwGMZWRszcFpNHc2l5iXKGtHIF dBeSrh0DkWTmzU1A8pHWhSGyqYfuiZO8mATI87WYaEiAWMg1XF1scEV8L2aL0yXf0otG 3X9ORShLSKcP/rTZShrnMM+hk1cOE9hraO9QmW+NFSGlI4DOwLkR7C5i72BQUD9I3ASQ dQh0L49mE8TC0S5K6vp5ELshwrIClfoi4u5yRAg3nKxg3++IR0M4aVPTJiED0StLiNEA lobQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:references:to:subject:cc:user-agent:mime-version :date:message-id:dkim-signature; bh=ZziiSuAfApC1t2wlWVIeuHqITL8XGXJprQXowLYO/iE=; fh=XNfDNa/E9vR6/slDJh4ofmZLjhxqlKr7aBjbe9wFu+E=; b=rWzJxVnHIo8d4jxHqD22ZEP8svNFsGc6GxIi7igg490leOMl07bz9DtdxfuVInCbuV Nu7kk956yEA7ySNHIOtncnuVsfD7gF46sq6gMwfw1aUQm0BjIXA5AFZCtzw+aOObjm/3 vt0pVFBEA+8/HP1Osv7lJ1PHjas6IanvAfIS9jf6yi7Eef0tFp51Iy+u5k5sQjM2WZDM Es4v4nLBgBUYu7/wyRdXJr3TfY8miZSb2q4lMmJG2sufacylPV+1wV7ODRNLzrteoRKo b15DaqR3ueuGCaInLeANuKF1t/XT8AxiJLhWCpjCK3VlHuawARonu+gtBHgS7J7u3neu 7VAg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JpQXb5oQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id 123-20020a630081000000b005bd18d53c2bsi327650pga.885.2023.11.29.19.44.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Nov 2023 19:44:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JpQXb5oQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id E4B5780A5F88; Wed, 29 Nov 2023 19:44:31 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231670AbjK3DoO (ORCPT + 99 others); Wed, 29 Nov 2023 22:44:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51968 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234913AbjK3DoM (ORCPT ); Wed, 29 Nov 2023 22:44:12 -0500 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 519D510F5; Wed, 29 Nov 2023 19:44:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701315857; x=1732851857; h=message-id:date:mime-version:cc:subject:to:references: from:in-reply-to:content-transfer-encoding; bh=WZZMnWGpd1y0ccfThg5B81AdxxPkKMFT8brLpoZWyyM=; b=JpQXb5oQFg/znCF9eSnr3+/ahKTjZe5l5bX/0UNeu0eWmTwqbBKVlXU/ snUdiI6PhX6PEIHmUYQFEUvmLjFoNGYq1CT72EfOZK16czwcXSu9pHsy1 EPAdxKs8NDE1ZMuAoCFGNEf1PXqHPmXJ0XEVTvCC4XafLUVgENFXKupCz 3nrcnr9XXB6ZxrkbRqpKvKK9kdL5PTwzJQzZnYKtC/ypL9vatERoGUAOu H/uYAkNrWDoo9BPknRFTjKZZfLHAFBe/7Qv/SJXeSLSOaBGppdRz/fYkQ IUcNRfCyKj/gjTXR4+z68gMc89Kukw/+HI8lkvoM87huaIraNJ/Z5zJ/j Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10909"; a="246698" X-IronPort-AV: E=Sophos;i="6.04,237,1695711600"; d="scan'208";a="246698" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Nov 2023 19:44:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10909"; a="1016499582" X-IronPort-AV: E=Sophos;i="6.04,237,1695711600"; d="scan'208";a="1016499582" Received: from blu2-mobl.ccr.corp.intel.com (HELO [10.249.171.155]) ([10.249.171.155]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Nov 2023 19:44:12 -0800 Message-ID: <61736bbd-1e8f-4dce-9c31-c1a6f10ae344@linux.intel.com> Date: Thu, 30 Nov 2023 11:44:10 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Cc: baolu.lu@linux.intel.com, "iommu@lists.linux.dev" , "linux-kselftest@vger.kernel.org" , "virtualization@lists.linux-foundation.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v2 0/6] IOMMUFD: Deliver IO page faults to user space To: Shameerali Kolothum Thodi , Jason Gunthorpe , Kevin Tian , Joerg Roedel , Will Deacon , Robin Murphy , Jean-Philippe Brucker , Nicolin Chen , Yi Liu , Jacob Pan References: <20231026024930.382898-1-baolu.lu@linux.intel.com> <55ed1ac0f2024c429b396cb751773d62@huawei.com> Content-Language: en-US From: Baolu Lu In-Reply-To: <55ed1ac0f2024c429b396cb751773d62@huawei.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 29 Nov 2023 19:44:32 -0800 (PST) On 2023/11/29 17:08, Shameerali Kolothum Thodi wrote: > > >> -----Original Message----- >> From: Lu Baolu [mailto:baolu.lu@linux.intel.com] >> Sent: 26 October 2023 03:49 >> To: Jason Gunthorpe ; Kevin Tian ; >> Joerg Roedel ; Will Deacon ; Robin >> Murphy ; Jean-Philippe Brucker >> ; Nicolin Chen ; Yi Liu >> ; Jacob Pan >> Cc: iommu@lists.linux.dev; linux-kselftest@vger.kernel.org; >> virtualization@lists.linux-foundation.org; linux-kernel@vger.kernel.org; Lu >> Baolu >> Subject: [PATCH v2 0/6] IOMMUFD: Deliver IO page faults to user space >> >> Hi folks, >> >> This series implements the functionality of delivering IO page faults to >> user space through the IOMMUFD framework for nested translation. Nested >> translation is a hardware feature that supports two-stage translation >> tables for IOMMU. The second-stage translation table is managed by the >> host VMM, while the first-stage translation table is owned by user >> space. This allows user space to control the IOMMU mappings for its >> devices. >> >> When an IO page fault occurs on the first-stage translation table, the >> IOMMU hardware can deliver the page fault to user space through the >> IOMMUFD framework. User space can then handle the page fault and >> respond >> to the device top-down through the IOMMUFD. This allows user space to >> implement its own IO page fault handling policies. >> >> User space indicates its capability of handling IO page faults by >> setting the IOMMU_HWPT_ALLOC_IOPF_CAPABLE flag when allocating a >> hardware page table (HWPT). IOMMUFD will then set up its infrastructure >> for page fault delivery. On a successful return of HWPT allocation, the >> user can retrieve and respond to page faults by reading and writing to >> the file descriptor (FD) returned in out_fault_fd. >> >> The iommu selftest framework has been updated to test the IO page fault >> delivery and response functionality. >> >> This series is based on the latest implementation of nested translation >> under discussion [1] and the page fault handling framework refactoring in >> the IOMMU core [2]. >> >> The series and related patches are available on GitHub: [3] >> >> [1] >> https://lore.kernel.org/linux-iommu/20230921075138.124099-1-yi.l.liu@int >> el.com/ >> [2] >> https://lore.kernel.org/linux-iommu/20230928042734.16134-1-baolu.lu@li >> nux.intel.com/ >> [3] >> https://github.com/LuBaolu/intel-iommu/commits/iommufd-io-pgfault-deliv >> ery-v2 > > Hi Baolu, Hi Shameer, > > Do you have a corresponding Qemu git to share? I could give it a spin on our ARM > platform. Please let me know. This version of the series is tested by the iommufd selftest. We are in process of developing the QEMU code. I will provide the repo link after we complete it. Best regards, baolu