In order to populate our PCI device list with devices located behind the VMD, we'll need to fill out those device structures from within a special VMD driver. That driver will base on PCI configuration and BAR accesses, but definitely not on DPDK. We want to put the VMD driver outside of the env lib, so we're about to provide it with a direct access to the device struct. Before we do that, let's group all the env-internal fields into an extra struct "internal". The spdk_pci_device struct does actually depend on DPDK now as it contains an `rte_pci_device *dev_handle` field, but we can easily break that dependency. The field is only used as an arguement to DPDK functions, so we can change its type to void* and let the implicit type conversion do the magic. After all, the VMD driver will potentially use it to store its (non-DPDK) data as well. Change-Id: I425d6dfa7af13e022f5377ceaff39efbd4a01b3d Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/435799 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: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> |
||
---|---|---|
.. | ||
env_internal.h | ||
env.c | ||
env.mk | ||
init.c | ||
Makefile | ||
memory.c | ||
pci_ioat.c | ||
pci_nvme.c | ||
pci_virtio.c | ||
pci.c | ||
threads.c | ||
vtophys.c |