寻找iommu组的设备

3

我正在使用Linux的IOMMU API,想要获取属于已知组ID特定组的特定设备。

iommu_group结构体有一个设备列表字段,但它是不可访问的。是否有方法可以获得它?

3个回答

5

请尝试:

find /sys/kernel/iommu_groups/ -type l

拉米·罗森


1
如果想要知道每个链接对应的设备,可以将它们提供给 lspci -nns 命令来获取提示。
find /sys/kernel/iommu_groups/ -type l -exec basename {} \; \
 | xargs -I % lspci -nns %

灵感来自于这里

如果你想要查看每个组的设备列表,以漂亮的格式呈现,请参见这个代码片段


1

问题太简单了。既没有电脑描述,也没有你的知识水平。同时时间有点过去了。

IOMMU组主要用于将设备从主机计算机传递到托管的虚拟机。

您必须确保主板、BIOS、CPU和内核支持虚拟技术,并启用所有必要的开关和模块,然后才能列出PCI设备及其IOMMU分组。使用Linux内核>4.2(我在Debian 9中使用内核4.8),您可以简单地键入:

# dmesg |egrep group |awk '{print $NF" "$0}' |sort -n

作为根用户获取按组排序的PCI设备列表。
有标准和缩短的方法来解除内核驱动程序中的组成员设备,并将其重新绑定到虚拟PCI驱动程序或vfio-pci驱动程序上。
如果我在这里说了你知道的事情,很抱歉你没有告诉我足够的信息。 :-)
J.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接