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