Here base class TYPE_LOONGSON_IPI_COMMON is added, it comes from loongson ipi mostly. And it defined four abstract interfaces which can be used for MIPS 3A4000 and Loongarch 3A5000 machine, also can be used for 3A5000 irqchip in kernel mode soon.
Also Loongarch ipi is added here, it inherits from base class TYPE_LOONGSON_IPI_COMMON. Bibo Mao (3): hw/intc/loongson_ipi_common: Add loongson ipi common class hw/intc/loongarch_ipi: Add loongarch ipi support hw/loongarch/virt: Replace loongson ipi with loongarch ipi hw/intc/Kconfig | 3 + hw/intc/loongarch_ipi.c | 80 ++++++ hw/intc/loongson_ipi_common.c | 394 ++++++++++++++++++++++++++ hw/intc/meson.build | 1 + hw/loongarch/Kconfig | 2 +- hw/loongarch/virt.c | 4 +- include/hw/intc/loongarch_ipi.h | 33 +++ include/hw/intc/loongson_ipi_common.h | 71 +++++ include/hw/loongarch/virt.h | 1 - 9 files changed, 585 insertions(+), 4 deletions(-) create mode 100644 hw/intc/loongarch_ipi.c create mode 100644 hw/intc/loongson_ipi_common.c create mode 100644 include/hw/intc/loongarch_ipi.h create mode 100644 include/hw/intc/loongson_ipi_common.h base-commit: 6746482d12da3b6e4d3cdf06481a0027a797f719 -- 2.39.3