[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v1] xen/arm: smmuv3: Add support for removing devices


  • To: Mykyta Poturai <Mykyta_Poturai@xxxxxxxx>
  • From: Luca Fancellu <Luca.Fancellu@xxxxxxx>
  • Date: Thu, 9 Apr 2026 11:36:42 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=epam.com smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LyxrWZ6deBXUhYY+oTVUQpBNN5cynAEumxvyF2zOWsY=; b=kKlZ4c82Ec0Wp6CzB0si56rAxgOL8guNgyvYBV705bSrdjb+LkekgHQxCT3yoiFEdTewFury7RWqoJwi1U+1Jt4xSXKhAeGZsNN8Qjn/l3z0G7T+CAXi3wQBDwX6xD4WkN2k2wr6X0Sf7ZD1kokmdCs0pIcva/8NckBg+jnHPzI7i6C5US8NGP+6zXSW24yuVO78am7FzGUVRFygBeu7u+FLO4cjKI535C66EP7tVduzT1eHzMEA6IECe32ege07eqN1fsu1PRQB1YRRCVxGi6rRRc7MhNafZr8yEHJPzaJMQJ0RHU/V7OOw3tELpvyWxqqIxCD0ndAEj9yXjfQuXg==
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LyxrWZ6deBXUhYY+oTVUQpBNN5cynAEumxvyF2zOWsY=; b=cNqDOIx4nbQ0y4zZ3+YZP0QOwkb+7B/fsRYHV3ugoiFKRMIpwBC06iFoDMEkwdKteAiWVyl5gShx/ogd6zd2aTPsHiZmexxLFQ+nkbZEsTEEH3f+c67hLEq/RHaFfsztZQAHVc7ngysgDbQzY5h9Fjs4OgaDITBeuHY99p57jM9Xh3opwzx//SG83PuIHDI8DnGBP2MXrN+FrUadgzUkGofJmJ5lDVpUBBpbqgKjKuf/KMxEPICJIhiSgFGDU9+Y1CAJgB/eba1iIFuU8zXHMKn9gRiIhIplsGkOpMPYGitCZLMsYn68lGhtThzMaiWs7AUg7lbTZbdyFpGdHbWN5w==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=Za6Ujt5nsOrScavxFlA6ENRC4awM/nnRG8TIRiT4MoJqG1ml2NyyZa2UJwzN/bIoskCIVv1VoiBfsr03y1adCh5YAbnM9Glg9aDyGj9cDEJxzD3j5UucBNGguw76F8bcae21srNzwDgdUQbmtVowwW/XaUaMbezeDoP2Tuuahx4nuzdqt22H+uwsle0baM13iqZLiBkxXQ38f21S/pBDnRbJ8XfrUuBLOv/XFfuVerf5G16T9bZ96GcRHNyRSa8PQ4qNuTkLKBArbstZ3LoybtrfC+RpIMC7MWEtLwmRWf/ps2dynfpD8h7a7KRZsjE0Pq0YqrhbW903Yp2G1xkuKw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mcFjjqwLCyxCuezgt9A/sis06Ilg3szl7E9HKPaZc6KTBAnxOUa9vPU4xMc3qFOgHIVOrCxvUVMmngVc3VT5xHx5JmXgat6Ftpidl4mtF7nH1hfjDccgchcJCvzxpONZABdCR+AL5XvOBEmYoh0kzeGGy3Bq39a6F0W4ttDhmNchpk71zx4H3M0fivBd19oEMx4PWZHmGAHU7YCn1ngxSczrRFXPgN0dCqwqNTkCzYKullRXRwq/g8t7fsC53HthDeGTgMlo3SWlCMGyHjEiZDVqKR17r73TD1HMm7gcuFTql/nAmiNNNc8MXpknjZKZPBxyZPnAwQrl2dDZ7tAvIQ==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Rahul Singh <Rahul.Singh@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Thu, 09 Apr 2026 11:38:13 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Thread-index: AQHcxnUZYHa+CmL3S0yWL3bconIhZ7XWnTcA
  • Thread-topic: [PATCH v1] xen/arm: smmuv3: Add support for removing devices

Hi Mykyta,

> On 7 Apr 2026, at 10:58, Mykyta Poturai <Mykyta_Poturai@xxxxxxxx> wrote:
> 
> Allow for removing devices from SMMUv3. arm_smmu_deassign_dev handles
> most of the work by disabling ATS and zeroing STEs. Additionally, unset
> the dt_device_is_protected flag and free no longer needed smmu_master.
> 
> Tested on QEMU with SRIOV series[1] by repeatedly enabling/disabling
> VFs.
> 
> [1]: https://patchew.org/Xen/cover.1772806036.git.mykyta._5Fpoturai@xxxxxxxx/
> 
> Signed-off-by: Mykyta Poturai <mykyta_poturai@xxxxxxxx>
> ---
> xen/drivers/passthrough/arm/smmu-v3.c | 59 +++++++++++++++++++++++++++
> xen/include/xen/device_tree.h         |  5 +++
> 2 files changed, 64 insertions(+)
> 
> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c 
> b/xen/drivers/passthrough/arm/smmu-v3.c
> index bf153227db..b5b834a7b7 100644
> --- a/xen/drivers/passthrough/arm/smmu-v3.c
> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
> @@ -1493,6 +1493,64 @@ static int arm_smmu_assign_dev(struct domain *d, u8 
> devfn, struct device *dev,
> static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn,
> struct device *dev);
> 
> +static int arm_smmu_remove_device(u8 devfn, struct device *dev)
> +{
> + int ret = 0;
> + struct arm_smmu_master *master;
> + struct iommu_fwspec *fwspec;
> +

I think we need some protection for the phantom function so that we
don’t remove the shared master object? I’m quite new to the smmu code
though so if I’ve missed something let me know.

Cheers,
Luca


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.