qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v2 00/15] PATCH 00/15] NVDIMM: introduce nvdimm labe


From: Xiao Guangrong
Subject: [Qemu-devel] [PATCH v2 00/15] PATCH 00/15] NVDIMM: introduce nvdimm label support
Date: Fri, 20 May 2016 16:19:57 +0800

Changelog in v2:
Thanks for Stefan's review, the changes in this version are:
- rename nvdimm device parameter 'reserve-label' to 'label-size' to
  specify the size of label
- add comment to explain why assert() used in nvdimm_assert_rw_label_data()
  is safe
- follow the code style of 'foo() return;' if nothing is returned by fool()
- fix the value of "Non-existing-Memory-Device"
- fix the handling the DSM functions we currently did not support

 
This patchset is against commit 2912f22759 (fixup! virtio: convert to use DMA
api) on pci branch of Michael's git tree and can be found at:
      https://github.com/xiaogr/qemu.git nvdimm-label-v2

This is the last part of vNVDIMM implementation which introduces nvdimm
label support

Currently Linux NVDIMM driver does not support namespace operation on this
kind of PMEM, apply below changes to support dynamical namespace:

@@ -798,7 +823,8 @@ static int acpi_nfit_register_dimms(struct acpi_nfit_desc *a
                        continue;
                }
 
-               if (nfit_mem->bdw && nfit_mem->memdev_pmem)
+               //if (nfit_mem->bdw && nfit_mem->memdev_pmem)
+               if (nfit_mem->memdev_pmem)
                        flags |= NDD_ALIASING;

You can append a NVDIMM device in guest and do:                       
# cd /sys/bus/nd/devices/
# cd namespace0.0/
# echo `uuidgen` > uuid
# echo `expr 1024 \* 1024 \* 128` > size
then reload nd.pmem.ko

You can see /dev/pmem0 appears

Xiao Guangrong (15):
  pc-dimm: get memory region from ->get_memory_region()
  pc-dimm: introduce realize callback
  pc-dimm: keep the state of the whole backend memory
  nvdimm: support nvdimm label
  acpi: add aml_object_type
  acpi: add aml_call5
  nvdimm acpi: set HDLE properly
  nvdimm acpi: save arg3 of _DSM method
  nvdimm acpi: check UUID
  nvdimm acpi: abstract the operations for root & nvdimm devices
  nvdimm acpi: check revision
  nvdimm acpi: support Get Namespace Label Size function
  nvdimm acpi: support Get Namespace Label Data function
  nvdimm acpi: support Set Namespace Label Data function
  docs: add NVDIMM ACPI documentation

 docs/specs/acpi_nvdimm.txt  | 132 +++++++++++++++
 hw/acpi/aml-build.c         |  22 +++
 hw/acpi/nvdimm.c            | 400 ++++++++++++++++++++++++++++++++++++++++----
 hw/mem/nvdimm.c             | 122 ++++++++++++++
 hw/mem/pc-dimm.c            |  21 ++-
 include/hw/acpi/aml-build.h |   3 +
 include/hw/mem/nvdimm.h     |  55 +++++-
 include/hw/mem/pc-dimm.h    |   6 +-
 8 files changed, 723 insertions(+), 38 deletions(-)
 create mode 100644 docs/specs/acpi_nvdimm.txt

-- 
1.8.3.1




reply via email to

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