[dpdk-dev] [PATCH] BugFix: VFIO never works

Tetsuya Mukawa mukawa at igel.co.jp
Fri Jul 10 13:35:46 CEST 2015


2015-07-10 20:25 GMT+09:00 David Marchand <david.marchand at 6wind.com>:
> On Fri, Jul 10, 2015 at 10:34 AM, Tetsuya Mukawa <mukawa at igel.co.jp> wrote:
>>
>> On 2015/07/10 16:47, Michael Qiu wrote:
>> > Commit 35b3313e322b ("pci: merge mapping functions for linux and bsd")
>> >
>> > introduced a bug that all vfio will be
>> > blocked.
>> >
>> > Root cause is that VFIO_PRESENT is unaccessable in eal
>> > common level.
>> >
>> > This patch is to fix this.
>> >
>> > Signed-off-by: Michael Qiu <michael.qiu at intel.com>
>> > ---
>> >  lib/librte_eal/common/eal_common_pci.c     |  2 --
>> >  lib/librte_eal/common/eal_private.h        |  3 +++
>> >  lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 10 ++++++++++
>> >  3 files changed, 13 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/lib/librte_eal/common/eal_common_pci.c
>> > b/lib/librte_eal/common/eal_common_pci.c
>> > index 3805aed..f3dc697 100644
>> > --- a/lib/librte_eal/common/eal_common_pci.c
>> > +++ b/lib/librte_eal/common/eal_common_pci.c
>> > @@ -146,10 +146,8 @@ pci_map_device(struct rte_pci_device *dev)
>> >       /* try mapping the NIC resources using VFIO if it exists */
>> >       switch (dev->kdrv) {
>> >       case RTE_KDRV_VFIO:
>> > -#ifdef VFIO_PRESENT
>> >               if (pci_vfio_is_enabled())
>> >                       ret = pci_vfio_map_resource(dev);
>> > -#endif
>
>
> This is a common file, vfio is not available on BSD.
> I missed that during review.
>
> Did you test build on BSD ?
>
>
> --
> David Marchand

Hi David,

Yes I did.
Before submitting the patch series, I've tested it with igb_uio on
Linux and with nic_uio on BSD.
Both were OK. But I didn't test it with vfio and pci_uio generic on Linux.
After receiving the patch, I tested both. So now all cases should be ok.

Tetsuya


More information about the dev mailing list