[dpdk-dev] [PATCH] bus/pci: forbid VA as IOVA mode if IOMMU address width too small

Maxime Coquelin maxime.coquelin at redhat.com
Mon Jan 8 16:54:48 CET 2018



On 01/08/2018 04:38 PM, Stephen Hemminger wrote:
> On Mon,  8 Jan 2018 14:51:27 +0100
> Maxime Coquelin <maxime.coquelin at redhat.com> wrote:
> 
>> +static inline bool
>> +pci_one_device_iommu_support_va(struct rte_pci_device *dev)
>> +{
>> +#if defined(RTE_ARCH_PPC_64)
>> +	return false;
>> +#elif defined(RTE_ARCH_X86)
>> +
> 
> The cleaner way to handle this kind of ifdef is:
> 
> #ifdef RTE_ARCH_X86
> static bool
> pci_one_device_iommu_support_va(struct rte_pci_device *dev)
> {
> ....
> }
> #elif defined(RTE_ARCH_PPC_64)
> static inline bool
> pci_one_device_iommu_support_va(struct rte_pci_device *dev)
> {
> 	return false;
> }
> #endif

Ok, thanks. I do this in v2.

> What about AMD64?

I haven't checked AMD64 spec yet.

> Do all ARM processors have IOMMU, I think not.

No, not all have an IOMMU, and I don't know if those which have one have 
such limitations.
But if they don't, they cannot use VFIO without noiommu enabled.

This patch only change behavior for Intel, and could be extended to
other HW if needed.

Regards,
Maxime


More information about the dev mailing list