mbox series

[v2,0/5] hw/intc/loongarch_ipi: Enhance multiple CPU irq routing

Message ID 20241230013401.1564827-1-maobibo@loongson.cn (mailing list archive)
Headers show
Series hw/intc/loongarch_ipi: Enhance multiple CPU irq routing | expand

Message

Bibo Mao Dec. 30, 2024, 1:33 a.m. UTC
LoongArch IPI can send intterrupt to multiple CPUs, physical cpu id is
used to route interrupt for CPUs.

With cpu hotplug feature in future, logic cpu index depends on
CPUState::cpu_index heavily. Here add cpu hotplug notification interface
in IPI driver, cpu mapping logic is created inside. CPUState::cpu_index
is not used any more by IPI driver.

---
  v1 ... v2:
    1. Refresh to latest version.
    2. Rename present_cpu_map with present_map, and present_cpu with index.
    3. Replace present_cpu and cs with struct::IPICPUState.

---
Bibo Mao (5):
  hw/intc/loongson_ipi: Add more output parameter for cpu_by_arch_id
  hw/intc/loongarch_ipi: Add basic hotplug framework
  hw/intc/loongarch_ipi: Add cpu map table from physical cpu id
  hw/intc/loongarch_ipi: Implment cpu hotplug interface
  hw/intc/loongarch_ipi: Optimize function cpu_by_arch_id

 hw/intc/loongarch_ipi.c               | 126 ++++++++++++++++++++++----
 hw/intc/loongson_ipi.c                |  23 ++++-
 hw/intc/loongson_ipi_common.c         |  21 +++--
 hw/loongarch/virt.c                   |   5 +-
 include/hw/intc/loongarch_ipi.h       |  10 ++
 include/hw/intc/loongson_ipi_common.h |   3 +-
 include/hw/loongarch/virt.h           |   9 ++
 7 files changed, 164 insertions(+), 33 deletions(-)


base-commit: 2b7a80e07a29074530a0ebc8005a418ee07b1faf