numam-spdk/doc/porting.md
Daniel Verkamp 93ab7c31e4 doc: move porting guide into doc/ and add to index
This moves all the documentation under the doc/ tree for consistency.

Replace the link to include/spdk/env.h to raw text - the Doxygen
Markdown parser will automatically turn it into a link since it is a
Doxygen input file.

Change-Id: If6bde1cfc965cada2c741acd5505026545ad4cf7
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-17 16:25:04 -07:00

22 lines
944 B
Markdown

# SPDK Porting Guide {#porting}
SPDK is ported to new environments by implementing the *env*
library interface. The *env* interface provides APIs for drivers
to allocate physically contiguous and pinned memory, perform PCI
operations (config cycles and mapping BARs), virtual to physical
address translation and managing memory pools. The *env* API is
defined in include/spdk/env.h.
SPDK includes a default implementation of the *env* library based
on the Data Plane Development Kit ([DPDK](http://dpdk.org/)).
This DPDK implementation can be found in `lib/env_dpdk`.
DPDK is currently supported on Linux and FreeBSD only.
Users who want to use SPDK on other operating systems, or in
userspace driver frameworks other than DPDK, will need to implement
a new version of the *env* library. The new implementation can be
integrated into the SPDK build by updating the following line
in CONFIG:
CONFIG_ENV?=$(SPDK_ROOT_DIR)/lib/env_dpdk