Spdk/lib/nvme
James Bergsten 8785d5052d nvme: spdk_nvme_ctrlr_alloc_io_qpair extensions
Adds fields to structure spdk_nvme_io_qpair_opts.

These fields allow specifying the locations of memory buffers used
for the submission and/or completion queues.

By default, vaddr is set to NULL meaning SPDK will allocate the memory to be used.

If vaddr is NULL then paddr must be set to 0.

If vaddr is non-NULL, and paddr is zero, SPDK derives the physical
address for the NVMe device, in this case the memory must be registered.

If a paddr value is non-zero, SPDK uses the vaddr and paddr as passed.

SPDK assumes that the memory passed is both virtually and physically
contiguous.

If these fields are used, SPDK will NOT impose any restriction
on the number of elements in the queues.

The buffer sizes are in number of bytes, and are used to confirm
that the buffers are large enough to contain the appropriate queue.

These fields are only used by PCIe attached NVMe devices.  They
are presently ignored for other transports.

Signed-off-by: James Bergsten <jamesx.bergsten@intel.com>
Change-Id: Ibfab3939eefe48109335f43a1167082dd4865e7c
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454074
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-06-18 12:19:41 +00:00
..
Makefile Opal: Add Opal library 2019-04-08 17:04:25 +00:00
nvme_ctrlr_cmd.c nvme: add qpair parameter to nvme_complete_request 2019-05-22 14:51:01 +00:00
nvme_ctrlr_ocssd_cmd.c ocssd: hold lock when calling nvme_ctrlr_submit_admin_request 2019-02-15 21:27:58 +00:00
nvme_ctrlr.c nvme: spdk_nvme_ctrlr_alloc_io_qpair extensions 2019-06-18 12:19:41 +00:00
nvme_fabric.c nvme: introduce probe context data structure and API 2019-02-15 03:14:20 +00:00
nvme_internal.h nvme: assign qpair when req is allocated 2019-06-04 00:01:35 +00:00
nvme_ns_cmd.c nvme: explicitly mark _nvme_ns_cmd_rw as inline 2019-06-03 03:11:08 +00:00
nvme_ns_ocssd_cmd.c vtophys: add length parameter to the vtophys function 2019-01-09 08:24:59 +00:00
nvme_ns.c nvme: make identify NS id descriptors can be executed asynchronously 2018-10-15 17:57:56 +00:00
nvme_opal_internal.h Opal: Refactor and clean functions 2019-06-11 01:12:24 +00:00
nvme_opal.c Opal: Add opal_create_key function 2019-06-11 01:12:24 +00:00
nvme_pcie.c nvme: spdk_nvme_ctrlr_alloc_io_qpair extensions 2019-06-18 12:19:41 +00:00
nvme_qpair.c nvme: assign qpair when req is allocated 2019-06-04 00:01:35 +00:00
nvme_quirks.c nvme: add SHST_COMPLETE quirk for VMWare emulated SSDs 2019-02-27 01:46:32 +00:00
nvme_rdma.c nvme: add qpair parameter to nvme_complete_request 2019-05-22 14:51:01 +00:00
nvme_tcp.c nvme/tcp: Properly deal with supporting single r2t 2019-06-06 00:58:58 +00:00
nvme_transport.c nvme: add qpair is_connecting flag 2019-05-14 08:48:11 +00:00
nvme_uevent.c nvme: add vfio driver parse event 2019-05-29 02:36:41 +00:00
nvme_uevent.h nvme: Add support of hotplug for vfio-attached devices. 2017-12-06 17:04:49 -05:00
nvme.c nvme: Support multiple spdk_nvme_connect to same device 2019-05-13 15:40:36 +00:00