From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37352) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1agTMV-0005YS-2g for qemu-devel@nongnu.org; Thu, 17 Mar 2016 04:32:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1agTMQ-0001Su-Sh for qemu-devel@nongnu.org; Thu, 17 Mar 2016 04:32:55 -0400 Received: from mga14.intel.com ([192.55.52.115]:49128) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1agTMQ-0001Sg-NR for qemu-devel@nongnu.org; Thu, 17 Mar 2016 04:32:50 -0400 From: Xiao Guangrong Date: Thu, 17 Mar 2016 16:32:46 +0800 Message-Id: <1458203581-59143-1-git-send-email-guangrong.xiao@linux.intel.com> Subject: [Qemu-devel] [PATCH 00/15] 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: Xiao Guangrong , ehabkost@redhat.com, kvm@vger.kernel.org, mst@redhat.com, gleb@kernel.org, mtosatti@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com, dan.j.williams@intel.com, rth@twiddle.net This patchset is against commit d4207b223eef3 (fw-cfg: support writeable blobs) on pci branch of Michael's git tree and can be found at: https://github.com/xiaogr/qemu.git nvdimm-label-v1 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 device and 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 | 392 ++++++++++++++++++++++++++++++++++++++++---- hw/mem/nvdimm.c | 95 +++++++++++ hw/mem/pc-dimm.c | 21 ++- include/hw/acpi/aml-build.h | 3 + include/hw/mem/nvdimm.h | 61 ++++++- include/hw/mem/pc-dimm.h | 6 +- 8 files changed, 694 insertions(+), 38 deletions(-) create mode 100644 docs/specs/acpi_nvdimm.txt -- 1.8.3.1