iommu_replace_group_handle(9)
okay so bestie, you're looking at the Kernel API Manual page for iommu_replace_group_handle(9) πβ¨ and it's genuinely such a useful lil domain-switcher.
π NAME π
iommu_replace_group_handle β replace the domain that a group is attached to. That's the whole vibe, no cap π
β¨ SYNOPSIS β¨
int iommu_replace_group_handle (struct iommu_group *group , struct
iommu_domain *new_domain , struct iommu_attach_handle *handle );
π«Ά ARGUMENTS π«Ά
groupβ the IOMMU group that will be attached to the new domain. She's the main character getting moved π«new_domainβ the new IOMMU domain to replace with. Fresh domain, who dis? π¦handleβ attach handle. The little connector bestie we're handing over π
πΈ DESCRIPTION πΈ
This API lets the group switch domains without being forced to go to the blocking domain in-between. Lowkey efficient, highkey iconic. It also lets the caller provide an attach handle for the new domain and use it when the domain is attached β¨
If the currently attached domain is a core domain (e.g. a default_domain), it will act just like iommu_attach_group_handle. Same behavior, different day, periodt π
β οΈ Caller should always provide a new handle to avoid a race with the paths that have a lockless reference to handle. Like, do not skip this, bestie β it's giving important π¨
π SEE ALSO π
Kernel file: ./drivers/iommu/iommu.c
iommu_device_register(9)iommu_insert_resv_region(9)iommu_group_alloc(9)iommu_group_get_iommudata(9)iommu_group_set_iommudata(9)iommu_group_set_name(9)iommu_group_add_device(9)iommu_group_remove_device(9)iommu_group_mutex_assert(9)iommu_group_for_each_dev(9)iommu_group_get(9)iommu_group_ref_get(9)iommu_group_put(9)iommu_group_id(9)device_iommu_capable(9)iommu_group_has_isolated_msi(9)iommu_set_fault_handler(9)iommu_paging_domain_alloc_flags(9)iommu_attach_device(9)iommu_get_domain_for_dev(9)iommu_driver_get_domain_for_dev(9)iommu_attach_group(9)iommu_unmap(9)iommu_unmap_fast(9)report_iommu_fault(9)iommu_get_resv_regions(9)iommu_put_resv_regions(9)iommu_setup_default_domain(9)iommu_device_use_default_domain(9)iommu_device_unuse_default_domain(9)iommu_group_claim_dma_owner(9)iommu_device_claim_dma_owner(9)iommu_group_release_dma_owner(9)iommu_device_release_dma_owner(9)iommu_group_dma_owner_claimed(9)iommu_replace_device_pasid(9)iommu_attach_handle_get(9)iommu_attach_group_handle(9)iommu_detach_group_handle(9)pci_dev_reset_iommu_prepare(9)pci_dev_reset_iommu_done(9)iommu_dma_prepare_msi(9)
xoxo, this cutie page comes from ./drivers/iommu, version/date October 2026 ππ slay and goodbye bestie β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms