All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gaetan Rivet <gaetan.rivet@6wind.com>
To: dev@dpdk.org
Cc: Jerin Jacob <jerin.jacob@caviumnetworks.com>,
	Gaetan Rivet <gaetan.rivet@6wind.com>
Subject: [PATCH v3 1/2] bus/pci: fix vfio mode
Date: Mon, 30 Oct 2017 17:36:52 +0100	[thread overview]
Message-ID: <8492fe4cf1a8d6f15d389c9148e4942f1d060a40.1509381300.git.gaetan.rivet@6wind.com> (raw)
In-Reply-To: <3195804eda227dde6bb6d80122b2af25e071e1c1.1509367736.git.gaetan.rivet@6wind.com>

From: Jerin Jacob <jerin.jacob@caviumnetworks.com>

Revert back to using VFIO_PRESENT as a marker to enable compilation
of VFIO-related segments.

Fixes: 279b581c897d ("vfio: expose functions")

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
---

In addition to simply re-defining VFIO_PRESENT, the previous #ifdef
removed in favor of RTE_EAL_VFIO must be switched back as well.

Not doing so would break compilation on kernels prior to 3.6.

Additionally, the following patch adds a warning for users.

This fix is left as-is, instead of a more involved solution like
Ferruh's. The reasoning behind it is that it should be made abundantly
clear that the VFIO_PRESENT symbol is defined in eal_vfio.h and
eal_vfio.h only, that it is a private EAL symbol that is currently
bleeding out of the EAL. It should be visible when those private symbols
will be removed from libs external to the EAL.

v3:

  - Fix build by include eal_vfio.h in pci_init.h and pci.c as well.

 drivers/bus/pci/linux/pci.c      | 1 +
 drivers/bus/pci/linux/pci_init.h | 4 +++-
 drivers/bus/pci/linux/pci_vfio.c | 3 ++-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c
index cdf8106..d0ce020 100644
--- a/drivers/bus/pci/linux/pci.c
+++ b/drivers/bus/pci/linux/pci.c
@@ -46,6 +46,7 @@
 
 #include "eal_private.h"
 #include "eal_filesystem.h"
+#include "eal_vfio.h"
 
 #include "private.h"
 #include "pci_init.h"
diff --git a/drivers/bus/pci/linux/pci_init.h b/drivers/bus/pci/linux/pci_init.h
index 99d7a2e..3290cee 100644
--- a/drivers/bus/pci/linux/pci_init.h
+++ b/drivers/bus/pci/linux/pci_init.h
@@ -38,6 +38,8 @@
 
 #include <rte_vfio.h>
 
+#include "eal_vfio.h"
+
 /** IO resource type: */
 #define IORESOURCE_IO         0x00000100
 #define IORESOURCE_MEM        0x00000200
@@ -74,7 +76,7 @@ void pci_uio_ioport_write(struct rte_pci_ioport *p,
 			  const void *data, size_t len, off_t offset);
 int pci_uio_ioport_unmap(struct rte_pci_ioport *p);
 
-#ifdef RTE_EAL_VFIO
+#ifdef VFIO_PRESENT
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
 #define RTE_PCI_MSIX_TABLE_BIR    0x7
diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c
index 360eed3..38d3792 100644
--- a/drivers/bus/pci/linux/pci_vfio.c
+++ b/drivers/bus/pci/linux/pci_vfio.c
@@ -48,6 +48,7 @@
 #include <rte_vfio.h>
 
 #include "eal_filesystem.h"
+#include "eal_vfio.h"
 
 #include "pci_init.h"
 #include "private.h"
@@ -62,7 +63,7 @@
  * This file is only compiled if CONFIG_RTE_EAL_VFIO is set to "y".
  */
 
-#ifdef RTE_EAL_VFIO
+#ifdef VFIO_PRESENT
 
 #define PAGE_SIZE   (sysconf(_SC_PAGESIZE))
 #define PAGE_MASK   (~(PAGE_SIZE - 1))
-- 
2.1.4

  parent reply	other threads:[~2017-10-30 16:37 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-28  6:20 [PATCH] bus/pci: fix vfio mode Jerin Jacob
2017-10-30  8:06 ` Gaëtan Rivet
2017-10-30  9:00   ` Ferruh Yigit
2017-10-30  9:17     ` Gaëtan Rivet
2017-10-30  9:27       ` Thomas Monjalon
2017-10-30 11:24         ` Thomas Monjalon
2017-10-30 16:57           ` Ferruh Yigit
2017-10-30 17:13             ` Gaëtan Rivet
2017-10-30  9:10   ` Jerin Jacob
2017-10-30 12:55 ` [PATCH v2 1/2] " Gaetan Rivet
2017-10-30 12:55   ` [PATCH v2 2/2] eal: warn user that VFIO is disabled Gaetan Rivet
2017-10-30 16:36   ` Gaetan Rivet [this message]
2017-10-30 16:36     ` [PATCH v3 " Gaetan Rivet
2017-10-30 17:31       ` Ferruh Yigit
2017-10-30 17:26     ` [PATCH v3 1/2] bus/pci: fix vfio mode Ferruh Yigit
2017-10-30 19:07       ` Ferruh Yigit
2017-10-30 22:32     ` [PATCH v4] " Ferruh Yigit
2017-10-31 12:03       ` Bruce Richardson
2017-10-31 16:58         ` Ferruh Yigit
2017-10-31 18:21         ` Thomas Monjalon
2017-10-31 14:11       ` Gaëtan Rivet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8492fe4cf1a8d6f15d389c9148e4942f1d060a40.1509381300.git.gaetan.rivet@6wind.com \
    --to=gaetan.rivet@6wind.com \
    --cc=dev@dpdk.org \
    --cc=jerin.jacob@caviumnetworks.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.