qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 3/3] nvdimm: add 'unarmed' option


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH v3 3/3] nvdimm: add 'unarmed' option
Date: Fri, 1 Dec 2017 10:44:54 +0000
User-agent: Mutt/1.9.1 (2017-09-22)

On Mon, Nov 27, 2017 at 12:35:17PM +0800, Haozhong Zhang wrote:
> @@ -312,6 +315,10 @@ nvdimm_build_structure_memdev(GArray *structures, 
> DeviceState *dev)
>  
>      /* Only one interleave for PMEM. */
>      nfit_memdev->interleave_ways = cpu_to_le16(1);
> +
> +    if (nvdimm->unarmed) {
> +        nfit_memdev->flags |= ACPI_NFIT_MEM_NOT_ARMED;

Missing cpu_to_le16()?

> +static void nvdimm_set_unarmed(Object *obj, bool value, Error **errp)
> +{
> +    NVDIMMDevice *nvdimm = NVDIMM(obj);
> +    Error *local_err = NULL;
> +
> +    if (memory_region_size(&nvdimm->nvdimm_mr)) {
> +        error_setg(&local_err, "cannot change property value");

This error message does not explain why the value cannot be changed.  I
guess this is checking if the device has been realized.

Please call qdev_prop_set_after_realize() instead:

  if (memory_region_size(&nvdimm->nvdimm_mr)) {
      qdev_prop_set_after_realize(DEVICE(obj), "unarmed", &local_err);
      goto out;
  }

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]