pci: use EAL exposed configuration
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
This commit is contained in:
parent
64d19ecc06
commit
da5c269bd7
@ -368,7 +368,7 @@ rte_pci_scan(void)
|
||||
};
|
||||
|
||||
/* for debug purposes, PCI can be disabled */
|
||||
if (internal_config.no_pci)
|
||||
if (!rte_eal_has_pci())
|
||||
return 0;
|
||||
|
||||
fd = open("/dev/pci", O_RDONLY);
|
||||
|
@ -457,7 +457,7 @@ rte_pci_scan(void)
|
||||
struct rte_pci_addr addr;
|
||||
|
||||
/* for debug purposes, PCI can be disabled */
|
||||
if (internal_config.no_pci)
|
||||
if (!rte_eal_has_pci())
|
||||
return 0;
|
||||
|
||||
#ifdef VFIO_PRESENT
|
||||
|
@ -214,7 +214,7 @@ pci_get_uio_dev(struct rte_pci_device *dev, char *dstbuf,
|
||||
return -1;
|
||||
|
||||
/* create uio device if we've been asked to */
|
||||
if (internal_config.create_uio_dev && create &&
|
||||
if (rte_eal_create_uio_dev() && create &&
|
||||
pci_mknod_uio_dev(dstbuf, uio_num) < 0)
|
||||
RTE_LOG(WARNING, EAL, "Cannot create /dev/uio%u\n", uio_num);
|
||||
|
||||
|
@ -209,14 +209,18 @@ static int
|
||||
pci_vfio_setup_interrupts(struct rte_pci_device *dev, int vfio_dev_fd)
|
||||
{
|
||||
int i, ret, intr_idx;
|
||||
enum rte_intr_mode intr_mode;
|
||||
|
||||
/* default to invalid index */
|
||||
intr_idx = VFIO_PCI_NUM_IRQS;
|
||||
|
||||
/* Get default / configured intr_mode */
|
||||
intr_mode = rte_eal_vfio_intr_mode();
|
||||
|
||||
/* get interrupt type from internal config (MSI-X by default, can be
|
||||
* overridden from the command line
|
||||
*/
|
||||
switch (internal_config.vfio_intr_mode) {
|
||||
switch (intr_mode) {
|
||||
case RTE_INTR_MODE_MSIX:
|
||||
intr_idx = VFIO_PCI_MSIX_IRQ_INDEX;
|
||||
break;
|
||||
@ -240,7 +244,7 @@ pci_vfio_setup_interrupts(struct rte_pci_device *dev, int vfio_dev_fd)
|
||||
int fd = -1;
|
||||
|
||||
/* skip interrupt modes we don't want */
|
||||
if (internal_config.vfio_intr_mode != RTE_INTR_MODE_NONE &&
|
||||
if (intr_mode != RTE_INTR_MODE_NONE &&
|
||||
i != intr_idx)
|
||||
continue;
|
||||
|
||||
@ -256,7 +260,7 @@ pci_vfio_setup_interrupts(struct rte_pci_device *dev, int vfio_dev_fd)
|
||||
/* if this vector cannot be used with eventfd, fail if we explicitly
|
||||
* specified interrupt type, otherwise continue */
|
||||
if ((irq.flags & VFIO_IRQ_INFO_EVENTFD) == 0) {
|
||||
if (internal_config.vfio_intr_mode != RTE_INTR_MODE_NONE) {
|
||||
if (intr_mode != RTE_INTR_MODE_NONE) {
|
||||
RTE_LOG(ERR, EAL,
|
||||
" interrupt vector does not support eventfd!\n");
|
||||
return -1;
|
||||
@ -277,15 +281,15 @@ pci_vfio_setup_interrupts(struct rte_pci_device *dev, int vfio_dev_fd)
|
||||
|
||||
switch (i) {
|
||||
case VFIO_PCI_MSIX_IRQ_INDEX:
|
||||
internal_config.vfio_intr_mode = RTE_INTR_MODE_MSIX;
|
||||
intr_mode = RTE_INTR_MODE_MSIX;
|
||||
dev->intr_handle.type = RTE_INTR_HANDLE_VFIO_MSIX;
|
||||
break;
|
||||
case VFIO_PCI_MSI_IRQ_INDEX:
|
||||
internal_config.vfio_intr_mode = RTE_INTR_MODE_MSI;
|
||||
intr_mode = RTE_INTR_MODE_MSI;
|
||||
dev->intr_handle.type = RTE_INTR_HANDLE_VFIO_MSI;
|
||||
break;
|
||||
case VFIO_PCI_INTX_IRQ_INDEX:
|
||||
internal_config.vfio_intr_mode = RTE_INTR_MODE_LEGACY;
|
||||
intr_mode = RTE_INTR_MODE_LEGACY;
|
||||
dev->intr_handle.type = RTE_INTR_HANDLE_VFIO_LEGACY;
|
||||
break;
|
||||
default:
|
||||
@ -615,7 +619,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
|
||||
int
|
||||
pci_vfio_map_resource(struct rte_pci_device *dev)
|
||||
{
|
||||
if (internal_config.process_type == RTE_PROC_PRIMARY)
|
||||
if (rte_eal_process_type() == RTE_PROC_PRIMARY)
|
||||
return pci_vfio_map_resource_primary(dev);
|
||||
else
|
||||
return pci_vfio_map_resource_secondary(dev);
|
||||
|
Loading…
Reference in New Issue
Block a user