eal/linux: allow to map BARs with MSI-X tables
authorDan Aloni <dan@kernelim.com>
Wed, 28 Jan 2015 22:04:53 +0000 (00:04 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 23 Feb 2015 20:57:31 +0000 (21:57 +0100)
commit90a1633b2347e0c806faf0eed4edcb9e302e4247
treeb9d90e8595deee9babf8c1001a6007ea436f8ed8
parent4769bc5a27ccaeb736542c4064ffc182bbd7e439
eal/linux: allow to map BARs with MSI-X tables

While VFIO doesn't allow us to map complete BARs with MSI-X tables,
it does allow us to map around them in PAGE_SIZE granularity. There
might be adapters that provide their registers in the same BAR
but on a different page. For example, Intel's NVME adapter, though
not a network adapter, provides only one MMIO BAR that contains
the MSI-X table.

Signed-off-by: Dan Aloni <dan@kernelim.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
lib/librte_eal/linuxapp/eal/eal_pci.c
lib/librte_eal/linuxapp/eal/eal_pci_init.h
lib/librte_eal/linuxapp/eal/eal_pci_uio.c
lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
lib/librte_eal/linuxapp/eal/eal_vfio.h