In order to support irqchip_in_kenrel method, split loongarch extioi emulation driver into two parts, extioi common and extioi TCG driver. LoongArch extioi common driver includes vmstate and property interface, also vmstate load and store interface is defined in extioi common driver.
In future LoongArch extioi kvm driver can inherit from extioi common driver. --- v1 ... v2: 1. Remove unused element parent_unrealize in structure LoongArchExtIOICommonClass to solve the compile and make check issue --- Bibo Mao (10): include: Add loongarch_extioi_common header file include: Move struct LoongArchExtIOI to header file loongarch_extioi_common include: Rename LoongArchExtIOI with LoongArchExtIOICommonState hw/intc/loongarch_extioi: Rename LoongArchExtIOI with LoongArchExtIOICommonState hw/intc/loongarch_extioi: Add common realize interface hw/intc/loongarch_extioi: Add unrealize interface hw/intc/loongarch_extioi: Add common file loongarch_extioi_common hw/intc/loongarch_extioi: Inherit from loongarch_extioi_common hw/intc/loongarch_extioi: Add pre_save interface hw/intc/loongarch_extioi: Code cleanup about loongarch_extioi hw/intc/loongarch_extioi.c | 110 +++++++-------------- hw/intc/loongarch_extioi_common.c | 113 ++++++++++++++++++++++ hw/intc/meson.build | 2 +- include/hw/intc/loongarch_extioi.h | 84 +++------------- include/hw/intc/loongarch_extioi_common.h | 98 +++++++++++++++++++ 5 files changed, 258 insertions(+), 149 deletions(-) create mode 100644 hw/intc/loongarch_extioi_common.c create mode 100644 include/hw/intc/loongarch_extioi_common.h base-commit: 9eb9350c0e519be97716f6b27f664bd0a3c41a36 -- 2.39.3