Property num_cpu is not necessary, it can be acquired from function possible_cpu_arch_ids(), also adding arch_id and CPUState pointer in IPICore object, so that IPICore object can be parsed from physical cpu id.
--- v2 ... v3: 1. Remove TYPE_HOTPLUG_HANDLER interface support 2. Remove num_cpu property 3. Adding arch_id and CPUState pointer in IPICore object 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 (7): hw/intc/loongarch_ipi: Implement realize interface hw/intc/loongson_ipi: Remove num_cpu from loongson_ipi_common hw/intc/loongson_ipi: Remove property num_cpu from loongson_ipi_common hw/intc/loongarch_ipi: Get cpu number from possible_cpu_arch_ids hw/intc/loongarch_ipi: Remove num-cpu property hw/intc/loongson_ipi: Add more output parameter for cpu_by_arch_id hw/intc/loongarch_ipi: Use alternative function cpu_by_arch_id hw/intc/loongarch_ipi.c | 69 ++++++++++++++++++++------- hw/intc/loongson_ipi.c | 43 ++++++++++++++++- hw/intc/loongson_ipi_common.c | 41 +++++----------- hw/loongarch/virt.c | 1 - include/hw/intc/loongarch_ipi.h | 1 + include/hw/intc/loongson_ipi_common.h | 5 +- 6 files changed, 109 insertions(+), 51 deletions(-) base-commit: 9ee90cfc25747ab25c7da31a50f167fc5122e20e -- 2.39.3