On 27/11/2014 04:39, Anton Blanchard wrote: > Initialise our maximum page size capability to 64kB and increase > the page_size variable from 16 to 32 bits. > > Signed-off-by: Anton Blanchard <an...@samba.org> > -- > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > index 1327658..aa1ed98 100644 > --- a/hw/block/nvme.c > +++ b/hw/block/nvme.c > @@ -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; > diff --git a/hw/block/nvme.h b/hw/block/nvme.h > index 993c511..b6ccb65 100644 > --- a/hw/block/nvme.h > +++ b/hw/block/nvme.h > @@ -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; > >
This should probably be a property of the device instead. If you want to change the default, you need to preserve a backwards-compatible value for pre-2.3 machine types (-M pc-i440fx-2.2, -M pc-i440fx-2.1 etc.). Paolo