When running IOMMU enabled the user is actually interacting with IO addresses - not physical addresses. The value in the DPDK memseg array is the correct one in this case, and should be used at a higher priority than attempting to look up the address in /proc/self/pagemap (i.e. what rte_mem_virt2phy() does). Further, rte_mem_virt2phy() will always fail when running as an unprivileged user, but scanning the memory segments will work. Change-Id: I576e685111b7f9f848337134b7b89a3cf7c85402 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/375208 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> |
||
---|---|---|
.. | ||
env_internal.h | ||
env.c | ||
env.mk | ||
init.c | ||
Makefile | ||
pci_ioat.c | ||
pci_nvme.c | ||
pci.c | ||
threads.c | ||
vtophys.c |