qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/6] hw/loongarch/virt: Add cpu hotplug support
@ 2024-11-12  2:17 Bibo Mao
  2024-11-12  2:17 ` [PATCH v4 1/6] hw/loongarch/virt: Add CPU topology support Bibo Mao
                   ` (6 more replies)
  0 siblings, 7 replies; 26+ messages in thread
From: Bibo Mao @ 2024-11-12  2:17 UTC (permalink / raw)
  To: Song Gao, Paolo Bonzini, Zhao Liu, Igor Mammedov
  Cc: Jiaxun Yang, Xianglai Li, qemu-devel

LoongArch cpu hotplug is based on ACPI GED device, there is a little
change about ipi and extioi device, the value of num-cpu property is
maximum cpu number rather than present cpu number.

It can be verified with qemu command:
  qemu-system-loongarch64 -smp 2,maxcpus=16,sockets=4,cores=4,threads=1
and vcpu can be added or remove with hmp command:
  device_add la464-loongarch-cpu,socket-id=0,core-id=2,thread-id=0,id=cpu-2
  device_del cpu-2

---
v3 ... v4:
  1. For cold-plug CPUs, move socket-id/core-id/thread-id property
     setting from preplug function to CPU object creating loop, since
     there is topo information calculation already in CPU object creating
     loop.
  2. Init interrupt pin of CPU object in cpu plug interface for both
     cold-plug CPUs and hot-plug CPUs.
  3. Apply the patch based on latest qemu version.

v2 ... v3:
  1. Use qdev_realize_and_unref() with qdev_realize() and object_unref().
  2. Set vcpus_count with 1 since vcpu object is created for every thread.
  3. Remove property hw-id, use internal variable hw_id to differentiate
     cold-plug cpus and hot-plug cpus.
  4. Add generic function virt_init_cpu_irq() to init interrupt pin
     of CPU object, used by both cold-plug and hot-plug CPUs

v1 ... v2:
  1. Add new property hw-id, property hw-id is set for cold-added CPUs,
     and property socket-id/core-id/thread-id is set for hot-added CPUs.
     The two properties can be generated from each other.
  2. Use general hotplug api such as hotplug_handler_pre_plug etc
  3. Reorganize the patch order, split the patch set into 4 small
     patches.
---
Bibo Mao (6):
  hw/loongarch/virt: Add CPU topology support
  hw/loongarch/virt: Implement cpu plug interface
  hw/loongarch/virt: Add generic function to init interrupt pin of CPU
  hw/loongarch/virt: Init interrupt pin of CPU during plug interface
  hw/loongarch/virt: Update the ACPI table for hotplug cpu
  hw/loongarch/virt: Enable cpu hotplug feature on virt machine

 docs/system/loongarch/virt.rst |  31 +++
 hw/loongarch/Kconfig           |   1 +
 hw/loongarch/acpi-build.c      |  35 ++-
 hw/loongarch/virt.c            | 374 ++++++++++++++++++++++++++++-----
 include/hw/loongarch/virt.h    |   3 +
 target/loongarch/cpu.c         |  25 +++
 target/loongarch/cpu.h         |  17 ++
 7 files changed, 428 insertions(+), 58 deletions(-)


base-commit: 134b443512825bed401b6e141447b8cdc22d2efe
-- 
2.39.3



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

end of thread, other threads:[~2024-11-29  7:05 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-12  2:17 [PATCH v4 0/6] hw/loongarch/virt: Add cpu hotplug support Bibo Mao
2024-11-12  2:17 ` [PATCH v4 1/6] hw/loongarch/virt: Add CPU topology support Bibo Mao
2024-11-18 16:10   ` Igor Mammedov
2024-11-18 16:22     ` Igor Mammedov
2024-11-19  8:12       ` bibo mao
2024-11-19  8:01     ` bibo mao
2024-11-22 13:31       ` Igor Mammedov
2024-11-25  1:47         ` bibo mao
2024-11-25  2:20         ` bibo mao
2024-11-12  2:17 ` [PATCH v4 2/6] hw/loongarch/virt: Implement cpu plug interface Bibo Mao
2024-11-12  2:17 ` [PATCH v4 3/6] hw/loongarch/virt: Add generic function to init interrupt pin of CPU Bibo Mao
2024-11-18 16:43   ` Igor Mammedov
2024-11-19 10:02     ` bibo mao
2024-11-22 13:45       ` Igor Mammedov
2024-11-25  1:54         ` bibo mao
2024-11-28  9:02     ` bibo mao
2024-11-12  2:17 ` [PATCH v4 4/6] hw/loongarch/virt: Init interrupt pin of CPU during plug interface Bibo Mao
2024-11-12  2:17 ` [PATCH v4 5/6] hw/loongarch/virt: Update the ACPI table for hotplug cpu Bibo Mao
2024-11-18 16:51   ` Igor Mammedov
2024-11-19 10:05     ` bibo mao
2024-11-12  2:17 ` [PATCH v4 6/6] hw/loongarch/virt: Enable cpu hotplug feature on virt machine Bibo Mao
2024-11-18 17:03   ` Igor Mammedov
2024-11-19 10:18     ` bibo mao
2024-11-22 13:50       ` Igor Mammedov
2024-11-25  2:16         ` bibo mao
2024-11-29  7:02 ` [PATCH v4 0/6] hw/loongarch/virt: Add cpu hotplug support 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).