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. 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 | 6 ++ include/hw/intc/loongson_ipi_common.h | 3 +- include/hw/loongarch/virt.h | 9 ++ 7 files changed, 160 insertions(+), 33 deletions(-) base-commit: 791e3837c1105aec4e328674aad32e34056957e2 -- 2.39.3