Add porting guide.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ic028d9d776b094fc2fa048c23424aec2c8434cc6
This commit is contained in:
parent
1d90157262
commit
f0649be5a0
23
PORTING.md
Normal file
23
PORTING.md
Normal 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
|
||||||
|
|
@ -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
|
which avoids kernel context switches and eliminates interrupt handling
|
||||||
overhead.
|
overhead.
|
||||||
|
|
||||||
|
[Porting Guide](PORTING.md)
|
||||||
|
|
||||||
Prerequisites
|
Prerequisites
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user