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


Reply via email to