pcie ssd绑定vfio-pci驱动失败

我在SpacemiT K3 Com260上通过M.2 pcie口接了一块NVMe SSD,现在想通过vfio-pci驱动让SPDK接管这块ssd,通过命令echo 2646 5014 > /sys/bus/pci/drivers/vfio-pci/new_id 绑定vfio-pci驱动的时候内核报错
image
有大佬遇到过 能提供下解决办法吗

k3 默认没有开IOMMU功能,导致报错。
可以采用NOIOMMU模式vfio-pci驱动,CONFIG_VFIO_NOIOMMU=y,重新编译kernel后使用下列命令再试试
echo “2646 5014” > /sys/bus/pci/drivers/vfio-pci/new_id
echo “0000:01:00.0” > /sys/bus/pci/devices/0000:01:00.0/driver/unbind
echo 1 > /sys/module/vfio/parameters/enable_unsafe_noiommu_mode
echo “0000:01:00.0” > /sys/bus/pci/drivers/vfio-pci/bind
lspci -k

好的,谢谢回复,我回头重新编译下内核再试下;另外请教下,您知道在这套环境上怎么开启iommu吗?开启iommu以后基于vfio-pci驱动测试这种场景我也想试下,因为以前在别的平台测试都是这种模式

在linux-6.18\arch\riscv\boot\dts\spacemit目录下,方案设备树文件 k3_xxx.dts,添加如下:
+&iommu {

  • status = “okay”;
    +};