qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/7] *** Adds CPU hot-plug support to Loongarch ***
@ 2023-09-26  9:54 xianglai li
  2023-09-26  9:54 ` [PATCH v3 1/7] Update ACPI GED framework to support vcpu hot-(un)plug xianglai li
                   ` (6 more replies)
  0 siblings, 7 replies; 32+ messages in thread
From: xianglai li @ 2023-09-26  9:54 UTC (permalink / raw)
  To: qemu-devel

Hello everyone, We refer to the implementation of ARM CPU
Hot-Plug to add GED-based CPU Hot-Plug support to Loongarch.

The first 2 patches are changes to the QEMU common code,
including adding GED support for CPU Hot-Plug, updating
the ACPI table creation process.

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/

We also refer to shentey's patch link as follows:
https://patchew.org/QEMU/20230908084234.17642-1-shentey@gmail.com/

In order to respect the work of "Salil Mehta" and shentey, we will rebase
the first 2 patches in the final patch, which are referenced here to ensure
that the loongarch cpu hotplug can work properly.

The last 5 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.

V3:
- The call to the function qdev_disconnect_gpio_out_named was removed
- The use of the function cpu_address_space_destroy is necessary,
  most architectures also need to be called, we want to call
  in the common path, rather than each cpu architecture itself,
  because the scheme is not sure we want to solve this problem
  in a separate patch, here we do the function rollback processing.
- Referring to shentey's patch, loongarch no longer creates the
  TYPE_ACPI_GED_LOONGARCH device class, but instead passes build_madt_cpu_fn
  directly as an argument to the build_cpus_aml function

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 (7):
  Update ACPI GED framework to support vcpu hot-(un)plug
  Update CPUs AML with cpu-(ctrl)dev change
  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
  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/i386/acpi-build.c                          |   3 +-
 hw/loongarch/acpi-build.c                     |  34 +-
 hw/loongarch/virt.c                           | 409 +++++++++++++++---
 include/hw/acpi/cpu.h                         |   5 +-
 include/hw/acpi/cpu_hotplug.h                 |  10 +
 include/hw/acpi/generic_event_device.h        |   5 +
 include/hw/loongarch/virt.h                   |   6 +-
 target/loongarch/cpu.c                        |  33 +-
 target/loongarch/cpu.h                        |  13 +-
 14 files changed, 542 insertions(+), 83 deletions(-)

-- 
2.39.1



^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2023-09-28  1:37 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-26  9:54 [PATCH v3 0/7] *** Adds CPU hot-plug support to Loongarch *** xianglai li
2023-09-26  9:54 ` [PATCH v3 1/7] Update ACPI GED framework to support vcpu hot-(un)plug xianglai li
2023-09-26 10:50   ` Salil Mehta via
2023-09-26 12:16     ` lixianglai
2023-09-26 11:02   ` Michael S. Tsirkin
2023-09-26 11:26     ` lixianglai
2023-09-26 12:08       ` Michael S. Tsirkin
2023-09-26 12:38         ` Salil Mehta via
2023-09-27 15:18           ` Michael S. Tsirkin
2023-09-26 12:03   ` Michael S. Tsirkin
2023-09-26  9:54 ` [PATCH v3 2/7] Update CPUs AML with cpu-(ctrl)dev change xianglai li
2023-09-26 10:49   ` Salil Mehta via
2023-09-26 11:12     ` Michael S. Tsirkin
2023-09-26 11:45       ` Salil Mehta via
2023-09-26 11:54         ` Michael S. Tsirkin
2023-09-26 12:03           ` Salil Mehta via
2023-09-26 12:07             ` Michael S. Tsirkin
2023-09-26 15:52               ` Salil Mehta via
2023-09-26 17:38                 ` Michael S. Tsirkin
2023-09-26 12:49             ` lixianglai
2023-09-27 15:17               ` Michael S. Tsirkin
2023-09-28  1:36                 ` lixianglai
2023-09-26 12:30           ` Daniel P. Berrangé
2023-09-27 15:16             ` Michael S. Tsirkin
2023-09-26 12:17     ` lixianglai
2023-09-26  9:54 ` [PATCH v3 3/7] Added CPU topology support for Loongarch xianglai li
2023-09-26  9:54 ` [PATCH v3 4/7] Optimize loongarch_irq_init function implementation xianglai li
2023-09-26  9:54 ` [PATCH v3 5/7] Add basic CPU hot-(un)plug support for Loongarch xianglai li
2023-09-26  9:54 ` [PATCH v3 6/7] Add support of *unrealize* for Loongarch cpu xianglai li
2023-09-26  9:54 ` [PATCH v3 7/7] Update the ACPI table for the Loongarch CPU xianglai li
2023-09-26 10:58   ` Salil Mehta via
2023-09-27  2:26     ` lixianglai

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).