On Fri, May 20, 2016 at 04:19:57PM +0800, Xiao Guangrong wrote: > 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 I have reviewed the non-ACPI parts of this series. Aside from minor comments: Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Attachment:
signature.asc
Description: PGP signature