[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC QEMU PATCH v4 00/10] Implement vNVDIMM for Xen HVM gue
From: |
Haozhong Zhang |
Subject: |
[Qemu-devel] [RFC QEMU PATCH v4 00/10] Implement vNVDIMM for Xen HVM guest |
Date: |
Thu, 7 Dec 2017 18:18:02 +0800 |
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 also be found at
Xen: https://github.com/hzzhan9/xen.git nvdimm-rfc-v4
QEMU: https://github.com/hzzhan9/qemu.git xen-nvdimm-rfc-v4
RFC v3 can be found at
https://lists.nongnu.org/archive/html/qemu-devel/2017-09/msg02406.html
Changes in v4:
* The primary change in this version is to use the existing fw_cfg
and BIOSLinkerLoader interface to pass ACPI to Xen guest, rather
than introducing a Xen-specific mechanism. (Patch 5-10)
Following Xen-specific are still left in ACPI code:
(1) (Patch 6) xen_acpi_build() is called in acpi_build() to only
build Xen guest required ACPI tables. The consequent code
path in acpi_build() is bypassed.
(2) (Patch 8) Add Xen-specific functions to access DSM memory,
because the existing cpu_physical_memory_rw does not work on Xen.
(3) (Patch 9) Implement a workaround for different AML integer
widths between ACPI 1.0 (QEMU) and 2.0 (Xen).
Patch 1 is a trivial code cleanup.
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 is to avoid dereferencing the NULL pointer to non-existing
label data, as the Xen side support for labels is not implemented yet.
Patch 5-10 enable building ACPI tables and passing them to Xen HVM
domains.
Haozhong Zhang (10):
[01/10] xen-hvm: remove a trailing space
[02/10] xen-hvm: create the hotplug memory region on Xen
[03/10] hostmem-xen: add a host memory backend for Xen
[04/10] nvdimm: do not intiailize nvdimm->label_data if label size is zero
[05/10] xen-hvm: initialize fw_cfg interface
[06/10] hw/acpi-build, xen-hvm: introduce a Xen-specific ACPI builder
[07/10] xen-hvm: add functions to copy data from/to HVM memory
[08/10] nvdimm acpi: add functions to access DSM memory on Xen
[09/10] nvdimm acpi: add compatibility for 64-bit integer in ACPI 2.0 and
later
[10/10] xen-hvm: enable building NFIT and SSDT of vNVDIMM for HVM domains
backends/Makefile.objs | 1 +
backends/hostmem-xen.c | 108 ++++++++++++++++++++++++++++++++++++++++++++
backends/hostmem.c | 9 ++++
hw/acpi/nvdimm.c | 51 +++++++++++++++++----
hw/i386/acpi-build.c | 9 +++-
hw/i386/pc.c | 86 +++++++++++++++++++----------------
hw/i386/xen/xen-hvm.c | 105 ++++++++++++++++++++++++++++++++++++++++--
hw/mem/nvdimm.c | 10 +++-
hw/mem/pc-dimm.c | 6 ++-
include/hw/acpi/aml-build.h | 4 ++
include/hw/i386/pc.h | 1 +
include/hw/xen/xen.h | 7 +++
stubs/xen-hvm.c | 15 ++++++
13 files changed, 359 insertions(+), 53 deletions(-)
create mode 100644 backends/hostmem-xen.c
--
2.15.1
- [Qemu-devel] [RFC QEMU PATCH v4 00/10] Implement vNVDIMM for Xen HVM guest,
Haozhong Zhang <=
- [Qemu-devel] [RFC QEMU PATCH v4 01/10] xen-hvm: remove a trailing space, Haozhong Zhang, 2017/12/07
- [Qemu-devel] [RFC QEMU PATCH v4 02/10] xen-hvm: create the hotplug memory region on Xen, Haozhong Zhang, 2017/12/07
- [Qemu-devel] [RFC QEMU PATCH v4 04/10] nvdimm: do not intiailize nvdimm->label_data if label size is zero, Haozhong Zhang, 2017/12/07
- [Qemu-devel] [RFC QEMU PATCH v4 03/10] hostmem-xen: add a host memory backend for Xen, Haozhong Zhang, 2017/12/07
- [Qemu-devel] [RFC QEMU PATCH v4 05/10] xen-hvm: initialize fw_cfg interface, Haozhong Zhang, 2017/12/07
- [Qemu-devel] [RFC QEMU PATCH v4 06/10] hw/acpi-build, xen-hvm: introduce a Xen-specific ACPI builder, Haozhong Zhang, 2017/12/07
- [Qemu-devel] [RFC QEMU PATCH v4 07/10] xen-hvm: add functions to copy data from/to HVM memory, Haozhong Zhang, 2017/12/07
- [Qemu-devel] [RFC QEMU PATCH v4 08/10] nvdimm acpi: add functions to access DSM memory on Xen, Haozhong Zhang, 2017/12/07
- [Qemu-devel] [RFC QEMU PATCH v4 09/10] nvdimm acpi: add compatibility for 64-bit integer in ACPI 2.0 and later, Haozhong Zhang, 2017/12/07
- [Qemu-devel] [RFC QEMU PATCH v4 10/10] xen-hvm: enable building NFIT and SSDT of vNVDIMM for HVM domains, Haozhong Zhang, 2017/12/07