[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/10] Adds CPU hot-plug support to Loongarch
From: |
xianglai li |
Subject: |
[PATCH v2 00/10] Adds CPU hot-plug support to Loongarch |
Date: |
Tue, 12 Sep 2023 10:11:37 +0800 |
Hello everyone, We refer to the implementation of ARM CPU
Hot-Plug to add GED-based CPU Hot-Plug support to Loongarch.
The first 4 patches are changes to the QEMU common code,
including adding GED support for CPU Hot-Plug, updating
the ACPI table creation process, and adding qdev_disconnect_gpio_out_named
and cpu_address_space_destroy interfaces to release resources
when CPU un-plug.
For the modification of the public part of the code, we refer to the
arm-related patch, and the link address of the corresponding patch is
as follows:
https://lore.kernel.org/all/20200613213629.21984-1-salil.mehta@huawei.com/
In order to respect the work of "Salil Mehta", we will rebase the first
4 patches in the final patch, which are referenced here to ensure that
the loongarch cpu hotplug can work properly.
The last 6 patches are Loongarch architecture-related,
and the modifications include the definition of the hook
function related to the CPU Hot-(UN)Plug, the allocation
and release of CPU resources when CPU Hot-(UN)Plug,
the creation process of updating the ACPI table,
and finally the custom switch for the CPU Hot-Plug.
V2:
- Fix formatting and spelling errors
- Split large patches into smaller patches
- Split the original patch
<<Add basic CPU hot-(un)plug support for Loongarch>> into
<<Added CPU topology support for Loongarch>>
<<Optimize loongarch_irq_init function implementation >>
<<Add basic CPU hot-(un)plug support for Loongarch>>.
- Split the original patch
<<Update the ACPI table for the Loongarch CPU>> into
<<Add generic event device for Loongarch>>
<<Update the ACPI table for the Loongarch CPU>>
- Added loongarch cpu topology calculation method.
- Change the position of the cpu topology patch.
- Change unreasonable variable and function names.
xianglai li (10):
Update ACPI GED framework to support vcpu hot-(un)plug
Update CPUs AML with cpu-(ctrl)dev change
make qdev_disconnect_gpio_out_named() public
Introduce the CPU address space destruction function
Added CPU topology support for Loongarch
Optimize loongarch_irq_init function implementation
Add basic CPU hot-(un)plug support for Loongarch
Add support of *unrealize* for Loongarch cpu
Add generic event device for Loongarch
Update the ACPI table for the Loongarch CPU
.../devices/loongarch64-softmmu/default.mak | 1 +
docs/system/loongarch/virt.rst | 31 ++
hw/acpi/acpi-cpu-hotplug-stub.c | 15 +
hw/acpi/cpu.c | 27 +-
hw/acpi/generic_event_device.c | 33 ++
hw/core/gpio.c | 4 +-
hw/i386/acpi-build.c | 2 +-
hw/loongarch/acpi-build.c | 33 +-
hw/loongarch/generic_event_device_loongarch.c | 36 ++
hw/loongarch/meson.build | 2 +-
hw/loongarch/virt.c | 424 +++++++++++++++---
include/exec/cpu-common.h | 8 +
include/hw/acpi/cpu.h | 5 +-
include/hw/acpi/cpu_hotplug.h | 10 +
include/hw/acpi/generic_event_device.h | 6 +
include/hw/core/cpu.h | 1 +
include/hw/loongarch/virt.h | 10 +-
include/hw/qdev-core.h | 2 +
softmmu/physmem.c | 24 +
target/loongarch/cpu.c | 35 +-
target/loongarch/cpu.h | 13 +-
21 files changed, 635 insertions(+), 87 deletions(-)
create mode 100644 hw/loongarch/generic_event_device_loongarch.c
Cc: "Salil Mehta" <salil.mehta@opnsrc.net>
Cc: Xiaojuan Yang <yangxiaojuan@loongson.cn>
Cc: Song Gao <gaosong@loongson.cn>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Ani Sinha <anisinha@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <richard.henderson@linaro.org>
Cc: Eduardo Habkost <eduardo@habkost.net>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Cc: "Philippe Mathieu-Daudé" <philmd@linaro.org>
Cc: Yanan Wang <wangyanan55@huawei.com>
Cc: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Bibo Mao <maobibo@loongson.cn>
Cc: Xianglai li <lixianglai@loongson.cn>
--
2.39.1
- [PATCH v2 00/10] Adds CPU hot-plug support to Loongarch,
xianglai li <=
- [PATCH v2 03/10] make qdev_disconnect_gpio_out_named() public, xianglai li, 2023/09/11
- [PATCH v2 05/10] Added CPU topology support for Loongarch, xianglai li, 2023/09/11
- [PATCH v2 08/10] Add support of *unrealize* for Loongarch cpu, xianglai li, 2023/09/11
- [PATCH v2 07/10] Add basic CPU hot-(un)plug support for Loongarch, xianglai li, 2023/09/11
- [PATCH v2 04/10] Introduce the CPU address space destruction function, xianglai li, 2023/09/11