Spdk/lib/env_dpdk
Dariusz Stojaczyk 2fe7aa5e4d env_dpdk/vtophys: register a fake rte_bus supporting RTE_IOVA_VA
To use virtual address IOVAs, DPDK has to ensure there
are absolutely no predispositions to require physical
addresses neither now, nor in future. All available buses,
including PCI, report whether they require physical
addresses. For PCI, the registered drivers may report
RTE_PCI_DRV_IOVA_AS_VA to mark a driver as RTE_IOVA_VA
compliant. However, this model assumes that all (PCI)
drivers are registered on DPDK init, which is not the case
in SPDK. With no devices attached, most buses will report
RTE_IOVA_DC (don't care) and EAL will default to
RTE_IOVA_PA.

SPDK needs a hook to report whether it supports RTE_IOVA_VA,
and the fake rte_bus provides it.

Change-Id: Iba2d904200d1b70140d81943a57b98fd290783f9
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/423491
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2018-08-29 16:25:18 +00:00
..
env_internal.h env_dpdk: track PCI devices internally for vtophys 2018-04-02 14:03:05 -04:00
env.c env: introduce spdk_memzone_reserve_aligned 2018-07-02 19:13:23 +00:00
env.mk env/dpdk: link with rte_kvargs by default 2018-08-15 17:43:30 +00:00
init.c eal: add dpdk cl-arg no-shconf 2018-08-17 21:02:48 +00:00
Makefile env: add pci_virtio.c 2017-09-26 14:28:24 -04:00
memory.c env_dpdk: fix mem_map translation for sizes >2MB 2018-07-06 22:36:22 +00:00
pci_ioat.c env: register PMDs on associated first probe 2017-03-06 12:44:34 -07:00
pci_nvme.c dpdk/pci: support DPDK 18.08 write combined PCI resources 2018-08-15 17:43:30 +00:00
pci_virtio.c dpdk/pci: support DPDK 18.08 write combined PCI resources 2018-08-15 17:43:30 +00:00
pci.c env: remove deprecated spdk_pci_get_device() 2018-05-10 19:40:22 +00:00
threads.c env_dpdk: add an assert check for last core 2018-02-22 10:43:59 -05:00
vtophys.c env_dpdk/vtophys: register a fake rte_bus supporting RTE_IOVA_VA 2018-08-29 16:25:18 +00:00