qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/15] PATCH 00/15] NVDIMM: introduce nvdimm label support
@ 2016-05-20  8:19 Xiao Guangrong
  2016-05-20  8:19 ` [Qemu-devel] [PATCH v2 01/15] pc-dimm: get memory region from ->get_memory_region() Xiao Guangrong
                   ` (15 more replies)
  0 siblings, 16 replies; 28+ messages in thread
From: Xiao Guangrong @ 2016-05-20  8:19 UTC (permalink / raw)
  To: pbonzini, imammedo
  Cc: gleb, mtosatti, stefanha, mst, rth, ehabkost, dan.j.williams, kvm,
	qemu-devel, Xiao Guangrong

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2016-06-28  9:04 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-20  8:19 [Qemu-devel] [PATCH v2 00/15] PATCH 00/15] NVDIMM: introduce nvdimm label support Xiao Guangrong
2016-05-20  8:19 ` [Qemu-devel] [PATCH v2 01/15] pc-dimm: get memory region from ->get_memory_region() Xiao Guangrong
2016-05-30 18:36   ` Stefan Hajnoczi
2016-05-20  8:19 ` [Qemu-devel] [PATCH v2 02/15] pc-dimm: introduce realize callback Xiao Guangrong
2016-05-30 18:37   ` Stefan Hajnoczi
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 03/15] pc-dimm: keep the state of the whole backend memory Xiao Guangrong
2016-05-30 18:42   ` Stefan Hajnoczi
2016-05-31  2:04     ` Xiao Guangrong
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 04/15] nvdimm: support nvdimm label Xiao Guangrong
2016-05-30 18:46   ` Stefan Hajnoczi
2016-06-28  7:48   ` Paolo Bonzini
2016-06-28  9:04     ` Stefan Hajnoczi
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 05/15] acpi: add aml_object_type Xiao Guangrong
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 06/15] acpi: add aml_call5 Xiao Guangrong
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 07/15] nvdimm acpi: set HDLE properly Xiao Guangrong
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 08/15] nvdimm acpi: save arg3 of _DSM method Xiao Guangrong
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 09/15] nvdimm acpi: check UUID Xiao Guangrong
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 10/15] nvdimm acpi: abstract the operations for root & nvdimm devices Xiao Guangrong
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 11/15] nvdimm acpi: check revision Xiao Guangrong
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 12/15] nvdimm acpi: support Get Namespace Label Size function Xiao Guangrong
2016-05-30 18:49   ` Stefan Hajnoczi
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 13/15] nvdimm acpi: support Get Namespace Label Data function Xiao Guangrong
2016-05-30 18:51   ` Stefan Hajnoczi
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 14/15] nvdimm acpi: support Set " Xiao Guangrong
2016-05-30 18:51   ` Stefan Hajnoczi
2016-05-20  8:20 ` [Qemu-devel] [PATCH v2 15/15] docs: add NVDIMM ACPI documentation Xiao Guangrong
2016-05-30 18:52 ` [Qemu-devel] [PATCH v2 00/15] PATCH 00/15] NVDIMM: introduce nvdimm label support Stefan Hajnoczi
2016-05-31  2:09   ` Xiao Guangrong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).