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