This series adds NVDIMM support to arm/virt platform. The series reuses some of the patches posted by Eric in his earlier attempt here[1].
This series previously had few fixes to qemu in general which were discovered while adding nvdimm support to arm/virt. Those were sent out seperately[2] and are now part of Qemu. Patch #1 is another fix to the nvdimm aml issue discussed here[3]. I have done a basic sanity testing of NVDIMM devices with Guest booting with ACPI. Further testing is always welcome. Please let me know your feedback. Thanks, Shameer [1] https://patchwork.kernel.org/cover/10830777/ [2] https://patchwork.kernel.org/cover/11472501/ [3] https://patchwork.kernel.org/cover/11174959/#23020961 v3 --> v4 -Removed patches #1 to #3 from v3 as they are now part of Qemu. -Addressed comments from Igor(#6) and Shannon(#4). -Added R-by from Igor(#1,#2,#3). v2 --> v3 - Added patch #1 and # 2 to fix the inconsistency in acpi table memory region sizes during migration. Thanks to David H. - The fix for qemu_ram_resize() callback was modified to the one in patch #3. Again thanks to David H. - Addressed comments from MST and Eric on tests added. - Addressed comments from Igor/MST on Integer size in patch #4 - Added Eric's R-by to patch #7. v1 --> v2 -Reworked patch #1 and now fix is inside qemu_ram_resize(). -Added patch #2 to fix the nvdim aml issue. -Dropped support to DT cold plug. -Updated test_acpi_virt_tcg_memhp() with pc-dimm and nvdimms(patch #7) Kwangwoo Lee (2): nvdimm: Use configurable ACPI IO base and size hw/arm/virt: Add nvdimm hot-plug infrastructure Shameer Kolothum (5): hw/acpi/nvdimm: Fix for NVDIMM incorrect DSM output buffer length hw/arm/virt: Add nvdimm hotplug support tests: Update ACPI tables list for upcoming arm/virt test changes bios-tables-test: test pc-dimm and nvdimm coldplug for arm/virt tests/acpi: add expected tables for bios-tables-test docs/specs/acpi_hw_reduced_hotplug.rst | 3 +- hw/acpi/generic_event_device.c | 15 +++++- hw/acpi/nvdimm.c | 72 ++++++++++++++++++++----- hw/arm/Kconfig | 1 + hw/arm/virt-acpi-build.c | 6 +++ hw/arm/virt.c | 35 ++++++++++-- hw/i386/acpi-build.c | 6 +++ hw/i386/acpi-build.h | 3 ++ hw/i386/pc_piix.c | 2 + hw/i386/pc_q35.c | 2 + hw/mem/Kconfig | 2 +- include/hw/acpi/generic_event_device.h | 1 + include/hw/arm/virt.h | 1 + include/hw/mem/nvdimm.h | 3 ++ tests/data/acpi/pc/SSDT.dimmpxm | Bin 685 -> 734 bytes tests/data/acpi/q35/SSDT.dimmpxm | Bin 685 -> 734 bytes tests/data/acpi/virt/DSDT.memhp | Bin 6644 -> 6668 bytes tests/data/acpi/virt/NFIT.memhp | Bin 0 -> 224 bytes tests/data/acpi/virt/SSDT.memhp | Bin 0 -> 736 bytes tests/qtest/bios-tables-test.c | 9 +++- 20 files changed, 138 insertions(+), 23 deletions(-) create mode 100644 tests/data/acpi/virt/NFIT.memhp create mode 100644 tests/data/acpi/virt/SSDT.memhp -- 2.17.1