sba_get_iommu(9)
πΈ sba_get_iommu(9) πΈ
okay bestie, welcome to the Kernel API Manual β this one's a little kernel function from the parisc world and it's honestly so chill, let's get into it π
β¨ NAME β¨
sba_get_iommu β hands you the iommu pointer for the pci bus controller, no cap π«Ά
π¦ SYNOPSIS π¦
void * sba_get_iommu (struct parisc_device *pci_hba );
like, that's the whole signature. one argument, one pointer back. iconic behaviour honestly β¨
π ARGUMENTS π
pci_hbaβ the parisc device. yeah that's it, that's the whole vibe. it's the thing you're passing in so the function knows which controller you're talking about π
π DESCRIPTION π
so the way this works is β sba_get_iommu returns the appropriate IOMMU data for the given parisc PCI controller. that's the whole job. it's giving "i have one (1) responsibility and i do it well" π
and then, lowkey the important part: this result is cached and used later for PCI DMA Mapping. so it's not just a one-time cute little lookup, it's the thing that shows up again later when the DMA mapping needs it. main character energy fr fr π
π SEE ALSO π
bestie you're gonna want to peek at the kernel file ./drivers/parisc/sba_iommu.c β that's where all this lives π§ and while you're there, the whole sba squad is worth a look:
sba_dump_ranges(9)sba_dump_tlb(9)sba_dump_pdir_entry(9)sba_check_pdir(9)sba_dump_sg(9)sba_search_bitmap(9)sba_alloc_range(9)sba_free_range(9)sba_io_pdir_entry(9)sba_mark_invalid(9)sba_dma_supported(9)sba_map_single(9)sba_unmap_phys(9)sba_alloc(9)sba_free(9)sba_map_sg(9)sba_unmap_sg(9)sba_directed_lmmio(9)sba_distributed_lmmio(9)
also the kernel file lives at ./drivers/parisc β that's the directory, iykyk πβ¨
and that's the page! came from ./drivers/parisc, dated October 2026, and it's sba_get_iommu(9) β slay, go read some parisc source, ily, bye πππ¦
π¦ 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