pci passthrough error about insufficient iommu width
Hi
I'm trying to do a pci-passthrough of Intel 82599 10GbE card, with guest having 8G of memory. I see following error -
intel_iommu_map: iommu width (48) is not sufficient for the mapped address (fffffffffe001000) kvm_iommu_map_address:iommu failed to map pfn=45800
I checked IOMMU capability register and SAGAW as well as MGAW are 48bits for both IOMMU.
# dmesg | grep ecap dmar: IOMMU 0: reg_base_addr dfff0000 ver 1:0 cap d2078c106f0462 ecap f020fe dmar: IOMMU 1: reg_base_addr bfff0000 ver 1:0 cap d2078c106f0462 ecap f020fe
# cat /proc/cpuinfo | grep "address sizes" address sizes : 46 bits physical, 48 bits virtual
In DMAR table, I see host address width set to "2D", i.e. 46bit, which is ok as it is same as physical address size. Any suggestions on what might be going wrong here?
Thanks,
nt
Quoted 16 lines · Nishank Trivedi
Hi
I'm trying to do a pci-passthrough of Intel 82599 10GbE card, with guest having 8G of memory. I see following error -
intel_iommu_map: iommu width (48) is not sufficient for the mapped address (fffffffffe001000)
kvm_iommu_map_address:iommu failed to map pfn=45800I checked IOMMU capability register and SAGAW as well as MGAW are 48bits for both IOMMU.
# dmesg | grep ecap dmar: IOMMU 0: reg_base_addr dfff0000 ver 1:0 cap d2078c106f0462 ecap f020fe dmar: IOMMU 1: reg_base_addr bfff0000 ver 1:0 cap d2078c106f0462 ecap f020fe
Quoted 6 lines
# cat /proc/cpuinfo | grep "address sizes" address sizes : 46 bits physical, 48 bits virtualIn DMAR table, I see host address width set to "2D", i.e. 46bit, which is ok as it is same as physical address size. Any suggestions on what might be going wrong here?
Try vfio-pci instead of pci-assign
I encountered the same "IOMMU width is not sufficient" issue. Using VFIO works ok for me.
Quoted 30 lines · Alex Williamson
Quoted 16 lines · Nishank Trivedi
Hi
I'm trying to do a pci-passthrough of Intel 82599 10GbE card, with guest having 8G of memory. I see following error -
intel_iommu_map: iommu width (48) is not sufficient for the mapped address (fffffffffe001000)
kvm_iommu_map_address:iommu failed to map pfn=45800I checked IOMMU capability register and SAGAW as well as MGAW are 48bits for both IOMMU.
# dmesg | grep ecap dmar: IOMMU 0: reg_base_addr dfff0000 ver 1:0 cap d2078c106f0462 ecap f020fe dmar: IOMMU 1: reg_base_addr bfff0000 ver 1:0 cap d2078c106f0462 ecap f020feQuoted 6 lines
# cat /proc/cpuinfo | grep "address sizes" address sizes : 46 bits physical, 48 bits virtualIn DMAR table, I see host address width set to "2D", i.e. 46bit, which is ok as it is same as physical address size. Any suggestions on what might be going wrong here?
Try vfio-pci instead of pci-assign
--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 3 lines · William Tu
Quoted 3 lines
Try vfio-pci instead of pci-assign
Thanks Alex, William. Using vfio worked.
So does that mean pci-assign is being deprecated?
Quoted 7 lines · Nishank Trivedi
Quoted 3 lines · William Tu
Quoted 3 lines
Try vfio-pci instead of pci-assign
Thanks Alex, William. Using vfio worked.
So does that mean pci-assign is being deprecated?
Yes, vfio is meant to replace pci-assign with a better device ownership model, better security, better separation from KVM, support for multiple architectures, etc. There are no concrete plans to remove pci-assign, but as you can see, it's not as well tested or maintained as vfio. Thanks,
Alex