[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH-for-4.2 v9 00/12] ARM virt: ACPI memory hotplug supp
From: |
Shameer Kolothum |
Subject: |
[Qemu-devel] [PATCH-for-4.2 v9 00/12] ARM virt: ACPI memory hotplug support |
Date: |
Tue, 13 Aug 2019 22:05:27 +0100 |
This series is an attempt to provide device memory hotplug support
on ARM virt platform. This is based on Eric's recent works here[1]
and carries some of the pc-dimm related patches dropped from his
series.
The kernel support for arm64 memory hot add was added recently by
Robin and hence the guest kernel should be => 5.0-rc1.
NVDIM support is not included currently as we still have an unresolved
issue while hot adding NVDIMM[2]. However NVDIMM cold plug patches
can be included, but not done for now, for keeping it simple.
This makes use of GED device to sent hotplug ACPI events to the
Guest. GED code is based on Nemu. Thanks to the efforts of Samuel and
Sebastien to add the hardware-reduced support to Nemu using GED
device[3]. (Please shout if I got the author/signed-off wrong for
those patches or missed any names).
This is sanity tested on a HiSilicon ARM64 platform and appreciate
any further testing.
Note:
Attempted adding dimm_pxm test case to bios-tables-test for arm/virt.
But noticed the issue decribed here[5]. This is under investigation
now.
Thanks,
Shameer
[1] https://patchwork.kernel.org/cover/10837565/
[2] https://patchwork.kernel.org/cover/10783589/
[3] https://github.com/intel/nemu/blob/topic/virt-x86/hw/acpi/ged.c
[4] http://lists.infradead.org/pipermail/linux-arm-kernel/2019-May/651763.html
[5] https://www.mail-archive.com/address@hidden/msg632651.html
v8 --> v9
-Changes related to GED being a TYPE_SYS_BUS_DEVICE now.
-Re-arranged patches 8 and 9.
-Added GED ABI documentation(patch #10).
-Added numamem and memhp tests to arm/virt(#11 and #12)
-Dropped few R-by tags as code has changed a bit.
-Please see Individual patch history for details.
v7 --> v8
-Addressed comments from Igor.Please see individual patches.
-Updated bios-tables-test-allowed-diff.h to avoid "make check"
failure (patch #6) and dropped patch #10
-Added Igor's R-by to patches 4 & 5.
-Dropped Erics's R-by from patch #9 for now.
v6 --> v7
- Added 4.2 machine support and restricted GED creation for < 4.2
This is to address the migration test fail reported by Eric.
- Included "tests: Update DSDT ACPI table.." patch(#10) from Eric
to fix the "make check" bios-tables-test failure.
v5 --> v6
-Addressed comments from Eric.
-Added R-by from Eric and Igor.
v4 --> v5
-Removed gsi/ged-irq routing in virt.
-Added Migration support.
-Dropped support for DT coldplug case based on the discussions
here[4]
-Added system_powerdown support through GED.
v3 --> v4
Addressed comments from Igor and Eric,
-Renamed "virt-acpi" to "acpi-ged".
-Changed ged device parent to TYPE_DEVICE.
-Introduced DT memory node property "hotpluggable" to resolve device
memory being treated as early boot memory issue(patch #7).
-Combined patches #3 and #9 from v3 into #3.
v2 --> v3
Addressed comments from Igor and Eric,
-Made virt acpi device platform independent and moved
to hw/acpi/generic_event_device.c
-Moved ged specific code into hw/acpi/generic_event_device.c
-Introduced an opt-in feature "fdt" to resolve device-memory being
treated as early boot memory.
-Dropped patch #1 from v2.
RFC --> v2
-Use GED device instead of GPIO for ACPI hotplug events.
-Removed NVDIMM support for now.
-Includes dropped patches from Eric's v9 series.
Eric Auger (1):
hw/arm/virt: Add memory hotplug framework
Samuel Ortiz (2):
hw/acpi: Do not create memory hotplug method when handler is not
defined
hw/acpi: Add ACPI Generic Event Device Support
Shameer Kolothum (9):
hw/acpi: Make ACPI IO address space configurable
hw/arm/virt: Add 4.2 machine type
hw/arm/virt: Enable device memory cold/hot plug with ACPI boot
hw/arm/virt-acpi-build: Add PC-DIMM in SRAT
hw/arm: Factor out powerdown notifier from GPIO
hw/arm: Use GED for system_powerdown event
docs/specs: Add ACPI GED documentation
tests: add dummy ACPI tables for arm/virt board
tests: Add bios tests to arm/virt
docs/specs/acpi_hw_reduced_hotplug.txt | 60 +++++
hw/acpi/Kconfig | 4 +
hw/acpi/Makefile.objs | 1 +
hw/acpi/generic_event_device.c | 324 +++++++++++++++++++++++++
hw/acpi/memory_hotplug.c | 39 +--
hw/arm/Kconfig | 4 +
hw/arm/virt-acpi-build.c | 31 ++-
hw/arm/virt.c | 136 ++++++++++-
hw/core/machine.c | 3 +
hw/i386/acpi-build.c | 4 +-
hw/i386/pc.c | 3 +
include/hw/acpi/acpi_dev_interface.h | 1 +
include/hw/acpi/generic_event_device.h | 103 ++++++++
include/hw/acpi/memory_hotplug.h | 9 +-
include/hw/arm/virt.h | 5 +
include/hw/boards.h | 3 +
include/hw/i386/pc.h | 3 +
tests/bios-tables-test-allowed-diff.h | 2 +
tests/bios-tables-test.c | 49 ++++
tests/data/acpi/virt/SLIT | Bin 0 -> 48 bytes
tests/data/acpi/virt/SRAT | Bin 0 -> 224 bytes
21 files changed, 746 insertions(+), 38 deletions(-)
create mode 100644 docs/specs/acpi_hw_reduced_hotplug.txt
create mode 100644 hw/acpi/generic_event_device.c
create mode 100644 include/hw/acpi/generic_event_device.h
create mode 100644 tests/data/acpi/virt/SLIT
create mode 100644 tests/data/acpi/virt/SRAT
--
2.17.1
- [Qemu-devel] [PATCH-for-4.2 v9 00/12] ARM virt: ACPI memory hotplug support,
Shameer Kolothum <=
[Qemu-devel] [PATCH-for-4.2 v9 03/12] hw/acpi: Add ACPI Generic Event Device Support, Shameer Kolothum, 2019/08/13
[Qemu-devel] [PATCH-for-4.2 v9 04/12] hw/arm/virt: Add memory hotplug framework, Shameer Kolothum, 2019/08/13
[Qemu-devel] [PATCH-for-4.2 v9 05/12] hw/arm/virt: Add 4.2 machine type, Shameer Kolothum, 2019/08/13