文章目录检查是否直接支持IOMMU分组配置IOMMU分组不直接支持的需要更新内核参考检查是否直接支持IOMMU分组下面以SATA控制器为例,看pci设备是否可以直接支持IOMMU分组/*打印pci设备详细信息*/lspci-vv/*找到SATAcontroller段落*/16:00.1SATAcontroller:AdvancedMicroDevices,Inc.[AMD]Device43eb(prog-if01[AHCI1.0])Subsystem:ASMediaTechnologyInc.Device1062Flags:busmaster,fastdevsel,latency0,IRQ34
我有一个pci设备驱动程序,目前使用dma_map_page将用户空间地址映射到dma地址。这工作正常,但我正在尝试将其移植到iommuapi以获得使用组和域提供的一些好处。当前代码:这很好用ret=get_user_pages_fast(user_addr,one_page,flags,page);dma_addr=dma_map_page(dev,off,size,*page,DMA_BIDIRECTIONAL);IOMMU代码:这行不通ret=get_user_pages_fast(...);pfn=page_to_pfn(*page);group=iommu_group_get