Add porting guide.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ic028d9d776b094fc2fa048c23424aec2c8434cc6
This commit is contained in:
Jim Harris 2015-09-25 14:31:26 -07:00 committed by Daniel Verkamp
parent 1d90157262
commit f0649be5a0
2 changed files with 25 additions and 0 deletions

23
PORTING.md Normal file
View File

@ -0,0 +1,23 @@
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)) and
libpciaccess. 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

View File

@ -11,6 +11,8 @@ userspace and operating in a polled mode instead of relying on interrupts,
which avoids kernel context switches and eliminates interrupt handling
overhead.
[Porting Guide](PORTING.md)
Prerequisites
=============