summary refs log tree commit diff stats
path: root/hw
diff options
context:
space:
mode:
authorAndrzej Jakowski <andrzej.jakowski@linux.intel.com>2020-11-13 08:00:47 +0100
committerKlaus Jensen <k.jensen@samsung.com>2021-02-08 21:15:53 +0100
commitc7050631297f07917c23c7f4cdec8a6cca0eed12 (patch)
tree003d8a832ac300dc9b79ae9bd4e455db30951a21 /hw
parent0d3d5da2ccc8823c7c904b790b8d0fdf569790f0 (diff)
downloadfocaccia-qemu-c7050631297f07917c23c7f4cdec8a6cca0eed12.tar.gz
focaccia-qemu-c7050631297f07917c23c7f4cdec8a6cca0eed12.zip
hw/block/nvme: indicate CMB support through controller capabilities register
This patch sets CMBS bit in controller capabilities register when user
configures NVMe driver with CMB support, so capabilites are correctly
reported to guest OS.

Signed-off-by: Andrzej Jakowski <andrzej.jakowski@linux.intel.com>
Reviewed-by: Maxim Levitsky <mlevitsky@gmail.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/block/nvme.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index 2785127037..5f12ac1200 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -4374,6 +4374,7 @@ static void nvme_init_ctrl(NvmeCtrl *n, PCIDevice *pci_dev)
     NVME_CAP_SET_CSS(n->bar.cap, NVME_CAP_CSS_CSI_SUPP);
     NVME_CAP_SET_CSS(n->bar.cap, NVME_CAP_CSS_ADMIN_ONLY);
     NVME_CAP_SET_MPSMAX(n->bar.cap, 4);
+    NVME_CAP_SET_CMBS(n->bar.cap, n->params.cmb_size_mb ? 1 : 0);
 
     n->bar.vs = NVME_SPEC_VER;
     n->bar.intmc = n->bar.intms = 0;