nvme: 64kB page size fixes
authorAnton Blanchard <anton@samba.org>
Thu, 27 Nov 2014 03:39:21 +0000 (14:39 +1100)
committerKevin Wolf <kwolf@redhat.com>
Wed, 10 Dec 2014 09:31:16 +0000 (10:31 +0100)
Initialise our maximum page size capability to 64kB and increase
the page_size variable from 16 to 32 bits.

Signed-off-by: Anton Blanchard <anton@samba.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
hw/block/nvme.c
hw/block/nvme.h

index 13276589e4a766eb28ab34ad5b1c3fc284426521..aa1ed986d2cef1dd3b875170f3172a97f4ab1970 100644 (file)
@@ -811,6 +811,7 @@ static int nvme_init(PCIDevice *pci_dev)
     NVME_CAP_SET_AMS(n->bar.cap, 1);
     NVME_CAP_SET_TO(n->bar.cap, 0xf);
     NVME_CAP_SET_CSS(n->bar.cap, 1);
+    NVME_CAP_SET_MPSMAX(n->bar.cap, 4);
 
     n->bar.vs = 0x00010001;
     n->bar.intmc = n->bar.intms = 0;
index 993c51131c9739d2d28e9a103f369a06f54f5791..b6ccb655a61fd965f83f03e755d140cdf687ba20 100644 (file)
@@ -688,7 +688,7 @@ typedef struct NvmeCtrl {
     NvmeBar      bar;
     BlockConf    conf;
 
-    uint16_t    page_size;
+    uint32_t    page_size;
     uint16_t    page_bits;
     uint16_t    max_prp_ents;
     uint16_t    cqe_size;