mbox series

[v2,00/10] hw/intc/loongarch_extioi: Split into common and extioi

Message ID 20241108081712.632890-1-maobibo@loongson.cn (mailing list archive)
Headers show
Series hw/intc/loongarch_extioi: Split into common and extioi | expand

Message

Bibo Mao Nov. 8, 2024, 8:17 a.m. UTC
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