summaryrefslogtreecommitdiffstats
path: root/hw/block/nvme.h
diff options
context:
space:
mode:
authorKlaus Jensen2020-06-09 21:03:32 +0200
committerKevin Wolf2020-06-17 14:53:40 +0200
commit6a25a4b42e24df515e0e9a6b65683e500c66de73 (patch)
tree3eb51f0adfc56c593398b97512a9e3b583a4dec9 /hw/block/nvme.h
parenthw/block/nvme: Verify msix_vector_use() returned value (diff)
downloadqemu-6a25a4b42e24df515e0e9a6b65683e500c66de73.tar.gz
qemu-6a25a4b42e24df515e0e9a6b65683e500c66de73.tar.xz
qemu-6a25a4b42e24df515e0e9a6b65683e500c66de73.zip
hw/block/nvme: add msix_qsize parameter
Decouple the requested maximum number of ioqpairs (param max_ioqpairs) from the number of MSI-X interrupt vectors by introducing a new msix_qsize parameter and initialize MSI-X with that. This allows emulating a device that has fewer vectors than I/O queue pairs and also allows more than 2048 queue pairs. To keep the device behaving as previously, use a msix_qsize default of 65 (default max_ioqpairs + 1). This decoupling was actually suggested by Maxim some time ago in a slightly different context, so adding a Suggested-by. Suggested-by: Maxim Levitsky <mlevitsk@redhat.com> Signed-off-by: Klaus Jensen <k.jensen@samsung.com> Message-Id: <20200609190333.59390-22-its@irrelevant.dk> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw/block/nvme.h')
-rw-r--r--hw/block/nvme.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/block/nvme.h b/hw/block/nvme.h
index 61dd9b23b8..1d30c0bca2 100644
--- a/hw/block/nvme.h
+++ b/hw/block/nvme.h
@@ -7,6 +7,7 @@ typedef struct NvmeParams {
char *serial;
uint32_t num_queues; /* deprecated since 5.1 */
uint32_t max_ioqpairs;
+ uint16_t msix_qsize;
uint32_t cmb_size_mb;
} NvmeParams;