From: xianglai li <lixianglai@loongson.cn>
To: qemu-devel@nongnu.org
Cc: "Salil Mehta" <salil.mehta@opnsrc.net>,
"Xiaojuan Yang" <yangxiaojuan@loongson.cn>,
"Song Gao" <gaosong@loongson.cn>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Igor Mammedov" <imammedo@redhat.com>,
"Ani Sinha" <anisinha@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Eduardo Habkost" <eduardo@habkost.net>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Yanan Wang" <wangyanan55@huawei.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Peter Xu" <peterx@redhat.com>,
"David Hildenbrand" <david@redhat.com>,
"Bibo Mao" <maobibo@loongson.cn>,
"Xianglai li" <lixianglai@loongson.cn>
Subject: [PATCH v2 00/10] Adds CPU hot-plug support to Loongarch
Date: Tue, 12 Sep 2023 10:11:37 +0800 [thread overview]
Message-ID: <cover.1694433326.git.lixianglai@loongson.cn> (raw)
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
next reply other threads:[~2023-09-12 2:13 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-12 2:11 xianglai li [this message]
2023-09-12 2:11 ` [PATCH v2 01/10] Update ACPI GED framework to support vcpu hot-(un)plug xianglai li
2023-09-12 2:11 ` [PATCH v2 02/10] Update CPUs AML with cpu-(ctrl)dev change xianglai li
2023-09-12 2:11 ` [PATCH v2 03/10] make qdev_disconnect_gpio_out_named() public xianglai li
2023-09-12 8:10 ` Philippe Mathieu-Daudé
2023-09-15 7:00 ` lixianglai
2023-09-12 2:11 ` [PATCH v2 04/10] Introduce the CPU address space destruction function xianglai li
2023-09-12 7:00 ` David Hildenbrand
2023-09-14 13:00 ` lixianglai
2023-09-14 13:26 ` David Hildenbrand
2023-09-15 2:48 ` lixianglai
2023-09-15 2:53 ` lixianglai
2023-09-15 8:07 ` David Hildenbrand
2023-09-15 9:54 ` lixianglai
2023-09-15 14:19 ` Philippe Mathieu-Daudé
2023-09-15 15:22 ` David Hildenbrand
2023-09-26 11:25 ` Salil Mehta via
2023-09-26 11:21 ` Salil Mehta via
2023-09-26 11:55 ` Salil Mehta via
2023-09-26 12:23 ` David Hildenbrand
2023-09-26 12:32 ` Salil Mehta via
2023-09-26 12:37 ` David Hildenbrand
2023-09-26 12:44 ` Salil Mehta via
2023-09-26 12:52 ` David Hildenbrand
2023-09-27 2:16 ` lixianglai
2023-09-26 11:11 ` Salil Mehta via
2023-09-26 11:06 ` Salil Mehta via
2023-09-26 11:03 ` Salil Mehta via
2023-09-12 2:11 ` [PATCH v2 05/10] Added CPU topology support for Loongarch xianglai li
2023-09-12 2:11 ` [PATCH v2 06/10] Optimize loongarch_irq_init function implementation xianglai li
2023-09-12 2:11 ` [PATCH v2 07/10] Add basic CPU hot-(un)plug support for Loongarch xianglai li
2023-09-12 2:11 ` [PATCH v2 08/10] Add support of *unrealize* for Loongarch cpu xianglai li
2023-09-12 2:11 ` [PATCH v2 09/10] Add generic event device for Loongarch xianglai li
2023-09-12 2:11 ` [PATCH v2 10/10] Update the ACPI table for the Loongarch CPU xianglai li
2023-09-12 9:08 ` [PATCH v2 00/10] Adds CPU hot-plug support to Loongarch Salil Mehta via
2023-09-13 3:52 ` lixianglai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1694433326.git.lixianglai@loongson.cn \
--to=lixianglai@loongson.cn \
--cc=anisinha@redhat.com \
--cc=berrange@redhat.com \
--cc=david@redhat.com \
--cc=eduardo@habkost.net \
--cc=gaosong@loongson.cn \
--cc=imammedo@redhat.com \
--cc=maobibo@loongson.cn \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=salil.mehta@opnsrc.net \
--cc=wangyanan55@huawei.com \
--cc=yangxiaojuan@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).