Spdk/include/spdk
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
..
assert.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
barrier.h barrier: cleanup the file 2019-03-15 19:32:55 +00:00
base64.h util/base64: add base64 lib and unit tests 2018-07-19 00:50:54 +00:00
bdev_module.h lib/bdev: separate metadata buffer IO functions 2019-06-03 23:35:42 +00:00
bdev.h bdev: Move spdk_bdev declaration higher in the bdev.h file 2019-06-11 18:06:58 +00:00
bit_array.h util: added bit array bitmask load, store and clear 2018-12-14 15:34:53 +00:00
blob_bdev.h bdev: rename spdk_bdev_module_if -> spdk_bdev_module 2018-03-13 00:55:12 -04:00
blob.h lvol: add option to change clear method for lvol store creation 2019-02-28 20:50:27 +00:00
blobfs.h blobfs: Change channel type for synchronous operations 2019-04-02 23:24:30 +00:00
conf.h include/conf: add comments for public APIs 2018-02-26 11:59:09 -05:00
copy_engine.h include/copy_engine.h: add comments for callback functions 2018-05-28 01:45:03 +00:00
cpuset.h lib/util/cpuset: add negate and xor 2019-04-09 17:40:24 +00:00
crc16.h util/crc16: Add spdk_crc16_t10dif_copy to use in read strip and write insert 2018-12-20 17:52:29 +00:00
crc32.h util: Move architecture detection to crc32c.c 2019-02-04 19:14:22 +00:00
dif.h dif: Change data_len of spdk_dif_set_md_interleave_iovs to be remaining length 2019-06-18 04:25:33 +00:00
endian.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
env_dpdk.h env: add spdk_env_fini() 2019-03-20 21:05:33 +00:00
env.h env: added spdk_mempool_obj_iter 2019-06-07 04:39:14 +00:00
event.h log: passing user-defined log 2019-06-18 03:56:50 +00:00
fd.h include/fd.h: add comments for pubclic APIs 2018-01-04 12:12:10 -05:00
file.h util: add a new file operation API 2019-05-15 18:54:27 +00:00
ftl.h bdev/ftl: Add driver specific data to get_bdevs rpc 2019-06-11 06:25:36 +00:00
gpt_spec.h bdev/gpt: dump partition name 2017-07-12 18:12:52 -04:00
histogram_data.h histograms: add function to merge histograms 2018-11-15 23:03:26 +00:00
io_channel.h thread: Rename io_channel.h to thread.h 2018-06-12 15:24:07 +00:00
ioat_spec.h ioat_spec: fix gcc9 warning 2019-06-17 14:09:03 +00:00
ioat.h ioat: add APIs to only build descriptors 2019-02-18 07:44:17 +00:00
iscsi_spec.h iscsi: fix layout of logout request reason field 2017-09-22 16:11:11 -04:00
json.h json: add utilities function enabling itaration over JSON object 2018-10-18 16:07:37 +00:00
jsonrpc.h jsonrpc: add connection close callback 2019-01-10 14:31:37 +00:00
likely.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
log.h log: passing user-defined log 2019-06-18 03:56:50 +00:00
lvol.h lvol: ensure enum for lvol clear method is the same as blobstore 2019-02-28 20:50:27 +00:00
mmio.h mmio: add functions for 1 and 2 byte I/O accesses 2017-10-13 10:46:00 -04:00
nbd.h nbd: Remove unused spdk_event forward declaration 2019-04-23 20:22:55 +00:00
net.h net: make the net initialization in a correct way 2018-12-20 01:37:50 +00:00
notify.h lib/notify: rename spdk_notify_get_events to spdk_notify_foreach_event 2019-05-07 06:11:27 +00:00
nvme_intel.h nvme: pad struct spdk_nvme_intel_marketing_description_page 2019-06-05 02:46:50 +00:00
nvme_ocssd_spec.h ocssd: add chunk notification log struct 2018-09-27 01:30:45 +00:00
nvme_ocssd.h ocssd: add chunk notification log struct 2018-09-27 01:30:45 +00:00
nvme_spec.h nvme: Make Telemetry definition in nvme_spec.h consistent with rest of the file. 2019-05-10 22:26:55 +00:00
nvme.h nvme: spdk_nvme_ctrlr_alloc_io_qpair extensions 2019-06-18 12:19:41 +00:00
nvmf_fc_spec.h nvmf: FC-NVMe spec. header file 2018-07-06 22:49:20 +00:00
nvmf_spec.h nvme: Add the NVMe over fabrics TCP/IP transport support 2018-11-19 20:36:05 +00:00
nvmf.h nvmf: add a persist through power loss configuration file when constructing NS 2019-06-12 00:30:03 +00:00
opal_spec.h Opal: Avoid misalignment for undefined behaviour 2019-04-17 17:37:42 +00:00
opal.h Opal: Add opal_create_key function 2019-06-11 01:12:24 +00:00
pci_ids.h pci_ids: add virtio-vhost-user device id 2019-06-03 20:11:22 +00:00
queue_extras.h scripts/check_format: check for spaces before tabs 2018-03-05 11:09:13 -05:00
queue.h check_format: Verify #include syntax 2019-01-29 00:12:07 +00:00
reduce.h lib/reduce: add debug helper function 2019-06-18 04:06:41 +00:00
rpc.h rpc: add SPDK_RPC_REGISTER_ALIAS_DEPRECATED 2019-05-07 00:14:53 +00:00
scsi_spec.h scsi: fix SCSI reservation typos 2019-05-30 21:42:36 +00:00
scsi.h scsi: Add data offset to DIF context separately from start block address 2019-06-11 18:53:58 +00:00
sock.h sock: Add spdk_sock_readv(sock, iov, iovcnt) 2019-03-08 01:21:26 +00:00
stdinc.h ftl: Added unit tests for FTL library 2019-01-22 23:22:16 +00:00
string.h string: spdk_strtol to delegate additional error checking 2019-01-29 00:10:57 +00:00
thread.h thread: Add a mechanism to exit a lightweight thread 2019-05-22 04:23:17 +00:00
trace.h trace: shorten max name from 44 to 24 characters 2019-05-02 08:41:56 +00:00
util.h util: add power of 2 alignment for uint64_t variables. 2019-03-21 14:07:03 +00:00
uuid.h util/uuid: add a new uuid copy API. 2018-12-06 22:25:09 +00:00
version.h version: 19.07 pre 2019-04-30 21:30:18 +00:00
vhost.h vhost: add completion callback to lib init 2019-05-02 17:06:34 +00:00
vmd.h lib/vmd: Replace spdk_vmd_probe(bdf) with spdk_vmd_init() 2019-06-11 04:35:31 +00:00