From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.8bytes.org (mail.8bytes.org [85.214.250.239]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8372B10790 for ; Mon, 7 Aug 2023 12:30:18 +0000 (UTC) Received: from 8bytes.org (pd9fe94eb.dip0.t-ipconnect.de [217.254.148.235]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.8bytes.org (Postfix) with ESMTPSA id 1DBD22802C2; Mon, 7 Aug 2023 14:30:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=8bytes.org; s=default; t=1691411417; bh=c90Yi4nQt040JDhF9erB1oWX7zPJ6lrzrHSn0+kunok=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=bGIxBTZgxFw6JJa7RMXuE/I8Zw+NcgF5f//wxdTV+F4R6BdunMII8DMX4IBYnewgA IQNhOmd6zSLBr8yJYTQxVikb99dHEmAWD5JXXbeT5BTwb8ViI5oCTUaxJdrZc5mC6n 835qdE16OyAroZ7ZDnp1ieSyd0j+8tFbCXzwmOJU/BoFiKoHVeJdqvdnnjwiDRxA4H qww2h/wbxnLnO7TpUzR/lNbpD0LF9O5ogmkwVT8v8vXkBMEJDjluYgy5pnUZzarHX4 6XumXbhqwKnUAvu6okwC8RLvstvLhwgjle0MzX2FoHyLREySBaJG/bMvOe2lZlLtYb CmwPWzeuPpTSA== Date: Mon, 7 Aug 2023 14:30:15 +0200 From: Joerg Roedel To: Lu Baolu Cc: Jason Gunthorpe , Kevin Tian , Will Deacon , Robin Murphy , Alex Williamson , Nicolin Chen , iommu@lists.linux.dev, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Jason Gunthorpe Subject: Re: [PATCH v3 1/2] iommu: Prevent RESV_DIRECT devices from blocking domains Message-ID: References: <20230724060352.113458-1-baolu.lu@linux.intel.com> <20230724060352.113458-2-baolu.lu@linux.intel.com> Precedence: bulk X-Mailing-List: iommu@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230724060352.113458-2-baolu.lu@linux.intel.com> Hi Baolu, On Mon, Jul 24, 2023 at 02:03:51PM +0800, Lu Baolu wrote: > The IOMMU_RESV_DIRECT flag indicates that a memory region must be mapped > 1:1 at all times. This means that the region must always be accessible to > the device, even if the device is attached to a blocking domain. This is > equal to saying that IOMMU_RESV_DIRECT flag prevents devices from being > attached to blocking domains. > > This also implies that devices that implement RESV_DIRECT regions will be > prevented from being assigned to user space since taking the DMA ownership > immediately switches to a blocking domain. > > The rule of preventing devices with the IOMMU_RESV_DIRECT regions from > being assigned to user space has existed in the Intel IOMMU driver for > a long time. Now, this rule is being lifted up to a general core rule, > as other architectures like AMD and ARM also have RMRR-like reserved > regions. This has been discussed in the community mailing list and refer > to below link for more details. > > Other places using unmanaged domains for kernel DMA must follow the > iommu_get_resv_regions() and setup IOMMU_RESV_DIRECT - we do not restrict > them in the core code. > > Cc: Robin Murphy > Cc: Alex Williamson > Cc: Kevin Tian > Signed-off-by: Jason Gunthorpe > Link: https://lore.kernel.org/linux-iommu/BN9PR11MB5276E84229B5BD952D78E9598C639@BN9PR11MB5276.namprd11.prod.outlook.com > Signed-off-by: Lu Baolu > Reviewed-by: Jason Gunthorpe Acked-by: Joerg Roedel Feel free to include that in your next round of VT-d updates you send my way.