[dpdk-dev] [PATCH RFC 1/4] bus/pci: expose PCI API to app
Xiao Wang
xiao.w.wang at intel.com
Fri Dec 29 19:04:59 CET 2017
The vDPA device driver in later patch can use the existing pci api to
set up device.
Signed-off-by: Xiao Wang <xiao.w.wang at intel.com>
---
drivers/bus/pci/linux/pci.c | 4 ++--
drivers/bus/pci/linux/pci_init.h | 8 ++++++++
drivers/bus/pci/linux/pci_vfio.c | 6 +++---
3 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c
index 5da6728..6fe35bb 100644
--- a/drivers/bus/pci/linux/pci.c
+++ b/drivers/bus/pci/linux/pci.c
@@ -61,7 +61,7 @@
extern struct rte_pci_bus rte_pci_bus;
-static int
+int
pci_get_kernel_driver_by_path(const char *filename, char *dri_name)
{
int count;
@@ -198,7 +198,7 @@
}
/* parse the "resource" sysfs file */
-static int
+int
pci_parse_sysfs_resource(const char *filename, struct rte_pci_device *dev)
{
FILE *f;
diff --git a/drivers/bus/pci/linux/pci_init.h b/drivers/bus/pci/linux/pci_init.h
index f342c47..dbca3dd 100644
--- a/drivers/bus/pci/linux/pci_init.h
+++ b/drivers/bus/pci/linux/pci_init.h
@@ -35,6 +35,7 @@
#define EAL_PCI_INIT_H_
#include <linux/version.h>
+#include <stdbool.h>
#include <rte_vfio.h>
@@ -106,6 +107,13 @@ void pci_vfio_ioport_write(struct rte_pci_ioport *p,
int pci_vfio_is_enabled(void);
+int pci_get_kernel_driver_by_path(const char *filename, char *dri_name);
+int pci_parse_sysfs_resource(const char *filename, struct rte_pci_device *dev);
+
+int pci_vfio_get_msix_bar(int fd, struct pci_msix_table *msix_table);
+int pci_vfio_setup_interrupts(struct rte_pci_device *dev, int vfio_dev_fd);
+int pci_vfio_set_bus_master(int dev_fd, bool op);
+
#endif
#endif /* EAL_PCI_INIT_H_ */
diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c
index 1f93fa4..f1a47b7 100644
--- a/drivers/bus/pci/linux/pci_vfio.c
+++ b/drivers/bus/pci/linux/pci_vfio.c
@@ -89,7 +89,7 @@
}
/* get PCI BAR number where MSI-X interrupts are */
-static int
+int
pci_vfio_get_msix_bar(int fd, struct pci_msix_table *msix_table)
{
int ret;
@@ -174,7 +174,7 @@
}
/* set PCI bus mastering */
-static int
+int
pci_vfio_set_bus_master(int dev_fd, bool op)
{
uint16_t reg;
@@ -207,7 +207,7 @@
}
/* set up interrupt support (but not enable interrupts) */
-static int
+int
pci_vfio_setup_interrupts(struct rte_pci_device *dev, int vfio_dev_fd)
{
int i, ret, intr_idx;
--
1.8.3.1
More information about the dev
mailing list