From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48096) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bAGCH-00028y-MU for qemu-devel@nongnu.org; Tue, 07 Jun 2016 08:33:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bAGCE-0006B3-H4 for qemu-devel@nongnu.org; Tue, 07 Jun 2016 08:33:29 -0400 Received: from mga04.intel.com ([192.55.52.120]:16773) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bAGCE-000697-BC for qemu-devel@nongnu.org; Tue, 07 Jun 2016 08:33:26 -0400 From: Xiao Guangrong Date: Tue, 7 Jun 2016 20:21:56 +0800 Message-Id: <1465302129-5368-1-git-send-email-guangrong.xiao@linux.intel.com> Subject: [Qemu-devel] [PATCH v3 00/13] NVDIMM: introduce nvdimm label support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: pbonzini@redhat.com, imammedo@redhat.com Cc: gleb@kernel.org, mtosatti@redhat.com, stefanha@redhat.com, mst@redhat.com, rth@twiddle.net, ehabkost@redhat.com, dan.j.williams@intel.com, kvm@vger.kernel.org, qemu-devel@nongnu.org, Xiao Guangrong Changelog in v3: - introduce get_vmstate_memory_region() callback to abstract the difference between pc-dimm and nvdimm addressing Stefan's suggestion 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 cc973937f47a33 (virtio: move bi-endian target support to a single location ) on pci branch of Michael's git tree and can be found at: https://github.com/xiaogr/qemu.git nvdimm-label-v3 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; Xiao Guangrong (13): pc-dimm: introduce get_vmstate_memory_region callback 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 | 132 +++++++++++++++ hw/mem/pc-dimm.c | 14 +- include/hw/acpi/aml-build.h | 3 + include/hw/mem/nvdimm.h | 55 +++++- include/hw/mem/pc-dimm.h | 5 +- 8 files changed, 726 insertions(+), 37 deletions(-) create mode 100644 docs/specs/acpi_nvdimm.txt -- 1.8.3.1