numam-spdk/PORTING.md
Daniel Verkamp 1a37acda67 eofnl: check for extra trailing newlines
Enforce exactly one trailing \n, and fix all of the existing cases.

Change-Id: I6218e4700e90aeb647eaee78089530c79993c8c8
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-10-11 13:30:33 -07:00

22 lines
894 B
Markdown

SPDK Porting Guide
==================
SPDK is ported to new environments by implementing the nvme_impl
interface. The nvme_impl interface provides APIs for the driver
to allocate physically contiguous and pinned memory, perform PCI
operations (config cycles and mapping BARs), virtual to physical
address translation and allocating per I/O data structures.
SPDK includes a default implementation of the nvme_impl API based
on the Data Plane Development Kit ([DPDK](dpdk.org)). This DPDK
implementation can be found in lib/nvme/nvme_impl.h. DPDK is
currently supported on Linux and FreeBSD only.
Users who want to use SPDK on other operating system, or in
userspace driver frameworks other than DPDK, will need to implement
a new version of nvme_impl.h. The new nvme_impl.h can be
integrated into the SPDK build by updating the following line
in CONFIG:
CONFIG_NVME_IMPL=nvme_impl.h