All of lore.kernel.org
 help / color / mirror / Atom feed
* pci passthrough error about insufficient iommu width
@ 2014-08-06 21:22 Nishank Trivedi
  2014-08-06 21:31 ` Alex Williamson
  0 siblings, 1 reply; 5+ messages in thread
From: Nishank Trivedi @ 2014-08-06 21:22 UTC (permalink / raw)
  To: kvm

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: pci passthrough error about insufficient iommu width
  2014-08-06 21:22 pci passthrough error about insufficient iommu width Nishank Trivedi
@ 2014-08-06 21:31 ` Alex Williamson
  2014-08-06 21:49   ` William Tu
  0 siblings, 1 reply; 5+ messages in thread
From: Alex Williamson @ 2014-08-06 21:31 UTC (permalink / raw)
  To: Nishank Trivedi; +Cc: kvm

On Wed, 2014-08-06 at 14:22 -0700, Nishank Trivedi wrote:
> 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?

Try vfio-pci instead of pci-assign


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: pci passthrough error about insufficient iommu width
  2014-08-06 21:31 ` Alex Williamson
@ 2014-08-06 21:49   ` William Tu
  2014-08-07  6:12     ` Nishank Trivedi
  0 siblings, 1 reply; 5+ messages in thread
From: William Tu @ 2014-08-06 21:49 UTC (permalink / raw)
  To: Alex Williamson; +Cc: Nishank Trivedi, kvm

I encountered the same "IOMMU width is not sufficient" issue. Using
VFIO works ok for me.

On Wed, Aug 6, 2014 at 2:31 PM, Alex Williamson
<alex.williamson@redhat.com> wrote:
> On Wed, 2014-08-06 at 14:22 -0700, Nishank Trivedi wrote:
>> 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?
>
> Try vfio-pci instead of pci-assign
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: pci passthrough error about insufficient iommu width
  2014-08-06 21:49   ` William Tu
@ 2014-08-07  6:12     ` Nishank Trivedi
  2014-08-07 15:02       ` Alex Williamson
  0 siblings, 1 reply; 5+ messages in thread
From: Nishank Trivedi @ 2014-08-07  6:12 UTC (permalink / raw)
  To: William Tu, Alex Williamson; +Cc: kvm

On 8/6/14, 2:49 PM, William Tu wrote:
>>
>> Try vfio-pci instead of pci-assign
>>

Thanks Alex, William. Using vfio worked.
So does that mean pci-assign is being deprecated?



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: pci passthrough error about insufficient iommu width
  2014-08-07  6:12     ` Nishank Trivedi
@ 2014-08-07 15:02       ` Alex Williamson
  0 siblings, 0 replies; 5+ messages in thread
From: Alex Williamson @ 2014-08-07 15:02 UTC (permalink / raw)
  To: Nishank Trivedi; +Cc: William Tu, kvm

On Wed, 2014-08-06 at 23:12 -0700, Nishank Trivedi wrote:
> On 8/6/14, 2:49 PM, William Tu wrote:
> >>
> >> 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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-08-07 15:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-06 21:22 pci passthrough error about insufficient iommu width Nishank Trivedi
2014-08-06 21:31 ` Alex Williamson
2014-08-06 21:49   ` William Tu
2014-08-07  6:12     ` Nishank Trivedi
2014-08-07 15:02       ` Alex Williamson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.