[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC QEMU PATCH v3 00/10] Implement vNVDIMM for Xen HVM guest
On Mon, 11 Sep 2017 12:41:47 +0800 Haozhong Zhang <haozhong.zhang@xxxxxxxxx> wrote: > This is the QEMU part patches that works with the associated Xen > patches to enable vNVDIMM support for Xen HVM domains. Xen relies on > QEMU to build guest NFIT and NVDIMM namespace devices, and allocate > guest address space for vNVDIMM devices. > > All patches can be found at > Xen: https://github.com/hzzhan9/xen.git nvdimm-rfc-v3 > QEMU: https://github.com/hzzhan9/qemu.git xen-nvdimm-rfc-v3 > > Patch 1 is to avoid dereferencing the NULL pointer to non-existing > label data, as the Xen side support for labels is not implemented yet. > > Patch 2 & 3 add a memory backend dedicated for Xen usage and a hotplug > memory region for Xen guest, in order to make the existing nvdimm > device plugging path work on Xen. > > Patch 4 - 10 build and cooy NFIT from QEMU to Xen guest, when QEMU is > used as the Xen device model. I've skimmed over patch-set and can't say that I'm happy with number of xen_enabled() invariants it introduced as well as with partial blobs it creates. I'd like to reduce above and a way to do this might be making xen 1. use fw_cfg 2. fetch QEMU build acpi tables from fw_cfg 3. extract nvdim tables (which is trivial) and use them looking at xen_load_linux(), it seems possible to use fw_cfg. So what's stopping xen from using it elsewhere?, instead of adding more xen specific code to do 'the same' job and not reusing/sharing common code with tcg/kvm. > Haozhong Zhang (10): > nvdimm: do not intiailize nvdimm->label_data if label size is zero > hw/xen-hvm: create the hotplug memory region on Xen > hostmem-xen: add a host memory backend for Xen > nvdimm acpi: do not use fw_cfg on Xen > hw/xen-hvm: initialize DM ACPI > hw/xen-hvm: add function to copy ACPI into guest memory > nvdimm acpi: copy NFIT to Xen guest > nvdimm acpi: copy ACPI namespace device of vNVDIMM to Xen guest > nvdimm acpi: do not build _FIT method on Xen > hw/xen-hvm: enable building DM ACPI if vNVDIMM is enabled > > backends/Makefile.objs | 1 + > backends/hostmem-xen.c | 108 ++++++++++++++++++++++++++ > backends/hostmem.c | 9 +++ > hw/acpi/aml-build.c | 10 ++- > hw/acpi/nvdimm.c | 79 ++++++++++++++----- > hw/i386/pc.c | 102 ++++++++++++++----------- > hw/i386/xen/xen-hvm.c | 204 > ++++++++++++++++++++++++++++++++++++++++++++++++- > hw/mem/nvdimm.c | 10 ++- > hw/mem/pc-dimm.c | 6 +- > include/hw/i386/pc.h | 1 + > include/hw/xen/xen.h | 25 ++++++ > stubs/xen-hvm.c | 10 +++ > 12 files changed, 495 insertions(+), 70 deletions(-) > create mode 100644 backends/hostmem-xen.c > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |