Hi libvirt experts, This is the RFC v2 for updating NVDIMM support in libvirt. There are some gaps between qemu and libvirt, libvirt has not supported several config options about NVDIMM memory while qemu is ready now, including 'align', 'pmem', 'unarmed' and 'persistence'. I have already reworded and recoded my patches according to some feedback comments from community. Besides I keep all testcases divided, since every option is independent. Before you experts review, please let me clarify one point: 'persistence' option I investigated this option, it is used to add platform-supported features about NVDIMM data persistence to guest. I did not change this part in this RFC v2, because I'm not sure where I should put it in domain config xml file. What about in <features> elements? Or kick it out of this patch set, because it seems like another type option which is different from other three options here. I'd like you give some suggestions. Thank you in advance. Regards, Luyao Zhong Luyao Zhong (3): nvdimm: introduce more config elements into xml for NVDIMM memory nvdimm: update qemu command-line generating for NVDIMM memory nvdimm: update docs for introducing more NVDIMM configurations docs/formatdomain.html.in | 94 ++++++++++++++++--- docs/news.xml | 9 ++ docs/schemas/domaincommon.rng | 31 +++++- src/conf/domain_conf.c | 94 +++++++++++++++++-- src/conf/domain_conf.h | 14 +++ src/libvirt_private.syms | 2 + src/qemu/qemu_capabilities.c | 17 ++++ src/qemu/qemu_capabilities.h | 5 + src/qemu/qemu_command.c | 50 +++++++++- src/qemu/qemu_command.h | 3 +- src/qemu/qemu_hotplug.c | 2 +- .../memory-hotplug-nvdimm-align.args | 31 ++++++ .../memory-hotplug-nvdimm-align.xml | 58 ++++++++++++ .../memory-hotplug-nvdimm-persistence.args | 31 ++++++ .../memory-hotplug-nvdimm-persistence.xml | 58 ++++++++++++ .../memory-hotplug-nvdimm-pmem.args | 31 ++++++ .../memory-hotplug-nvdimm-pmem.xml | 58 ++++++++++++ .../memory-hotplug-nvdimm-unarmed.args | 31 ++++++ .../memory-hotplug-nvdimm-unarmed.xml | 58 ++++++++++++ tests/qemuxml2argvtest.c | 15 +++ .../memory-hotplug-nvdimm-align.xml | 1 + .../memory-hotplug-nvdimm-persistence.xml | 1 + .../memory-hotplug-nvdimm-pmem.xml | 1 + .../memory-hotplug-nvdimm-unarmed.xml | 1 + tests/qemuxml2xmltest.c | 4 + 25 files changed, 671 insertions(+), 29 deletions(-) create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.args create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-persistence.args create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-persistence.xml create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.args create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.args create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-persistence.xml create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-unarmed.xml -- 2.17.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list