numam-spdk/doc/porting.md
Maciej Wawryk 111d42765d markdownlint: enable rule MD046
MD046 - Code block style
Fixed all errors

Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: I0a5f711a54e1859a6c8d0f26dcabf210496fb819
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9273
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2021-09-08 21:53:48 +00:00

952 B

SPDK Porting Guide

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). 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