Spdk/lib
Changpeng Liu 44f69a9e51 nvme: add a quirk for QEMU emulated NVMe SSD
When starting the QEMU NVMe SSD with "cmb_size_mb=XX"
parameter, the controller memory buffer feature is
enabled in the Guest, the SPDK NVMe driver running
in the Guest will allocate the submission queue in
the controller memory buffer by default, it will use
memset and SSE instruction when copying NVMe command
to the submission queue entry or zero the whole
submission queue, inside the memset implementation
the AVX2 instuction will be used if the CPU can support
such feature.  However, due to the limitation in the
QEMU, the maximum access width to the PCI BAR space is
set to 8 Bytes, SPDK will report illegal instruction
in Guest.

Here we add a quirk for the QEMU emulated NVMe.

Fix issue #1362.

Change-Id: Ib5e2e4198d39ce7f8455175f7db283db0b01eebf
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2196
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2020-05-20 14:16:52 +00:00
..
accel lib/accel: add compare function to accel fw 2020-05-20 14:16:22 +00:00
bdev bdev: add bdev_auto_examine in bdev_set_options 2020-05-19 09:43:53 +00:00
blob lib/blob: provide better log on blob_load failures 2020-05-13 07:46:43 +00:00
blobfs blobfs: remove g_caches_lock finally 2020-05-11 12:34:16 +00:00
conf lib/conf: make INI deprecation less verbose 2020-04-28 13:36:35 +00:00
env_dpdk Revert "env: Use rte_malloc in spdk_mem_register code path when possible" 2020-05-20 14:14:21 +00:00
env_ocf lib/ocf_env: fix incorrect value for free memory estimate 2020-04-29 06:42:33 +00:00
event lib: replace fprintf(stderr,) by SPDK_ERRLOG 2020-05-07 10:42:40 +00:00
ftl lib: replace fprintf(stderr,) by SPDK_ERRLOG 2020-05-07 10:42:40 +00:00
idxd lib/idxd: add support for compare operation 2020-05-20 14:16:22 +00:00
ioat lib/ioat: add a map file. 2020-05-11 12:29:07 +00:00
iscsi lib/iscsi: fix possible memory leak. 2020-04-24 07:07:43 +00:00
json lib/json: add a map file. 2020-05-11 12:29:07 +00:00
jsonrpc lib/jsonrpc: remove spdk_ prefix from internal functions. 2020-05-11 12:29:07 +00:00
log lib/log: Eliminate waring about format-truncation. 2020-05-19 09:43:44 +00:00
log_rpc lib/log_rpc: add a map file. 2020-05-11 12:29:07 +00:00
lvol lib/lvol: add a map file. 2020-05-11 12:29:07 +00:00
nbd lib/nbd: remove spdk prefix from internal functions. 2020-05-11 12:29:07 +00:00
net lib/net: remove spdk prefix from internal functions. 2020-05-11 12:29:07 +00:00
notify notify: use noticelog for duplicated register 2020-05-19 09:44:19 +00:00
nvme nvme: add a quirk for QEMU emulated NVMe SSD 2020-05-20 14:16:52 +00:00
nvmf nvmf/rdma: Use RDMA provider API to send WRs 2020-05-20 12:03:50 +00:00
rdma rdma: Add RDMA provider API to send/flush Work Requests. 2020-05-20 12:03:50 +00:00
reduce lib/reduce: add a map file. 2020-05-12 21:49:03 +00:00
rocksdb global: rename copy to accel 2020-02-18 08:05:34 +00:00
rpc lib/rpc: remove spdk prefix from static functions in rpc.c 2020-05-12 21:49:03 +00:00
rte_vhost make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
scsi lib/scsi: add map file 2020-04-24 07:06:52 +00:00
sock lib/sock: remove spdk prefix from static functions in sock.c 2020-05-12 21:49:03 +00:00
thread lib/thread: remove spdk prefix from static functions. 2020-05-12 21:49:03 +00:00
trace lib/trace: remove spdk prefix from static functions. 2020-05-14 10:37:14 +00:00
ut_mock make: remove spdk.map. 2020-05-20 14:11:31 +00:00
util lib/util: remove spdk prefix from static functions. 2020-05-14 10:37:14 +00:00
vhost lib/vhost: remove spdk prefix from static functions in vhost_rpc.c 2020-05-20 14:11:31 +00:00
virtio lib/virtio: add a map file. 2020-05-14 10:37:14 +00:00
vmd lib/vmd: add a map file. 2020-05-14 10:37:14 +00:00
Makefile rdma: Intorduce RDMA providers 2020-05-20 12:03:50 +00:00