In case XICS KVM setup fails, depending on the in-kernel irqchip being
required or not, QEMU used to exit or fall back to emulated XICS, and
never try to setup XICS KVM again for the machine lifetime.

This is no longer the case with the "dual" interrupt controller mode of
the spapr machine: QEMU will try again to setup KVM XICS each time the
VM is reset. This calls for proper rollback on the XICS KVM setup error
path.

That's what that series does. The first patches are preparatory cleanup.

--
Greg

---

Greg Kurz (6):
      xics/spapr: Drop unused function declaration
      xics/spapr: Rename xics_kvm_init()
      xics/kvm: Skip rollback when KVM XICS is absent
      xics/kvm: Always use local_err in xics_kvm_init()
      xics/kvm: Add error propagation to ic*_set_kvm_state() functions
      xics/kvm: Add proper rollback to xics_kvm_init()


 hw/intc/xics.c              |   39 ++++++++++++++++++++++---
 hw/intc/xics_kvm.c          |   68 +++++++++++++++++++++++++------------------
 hw/ppc/spapr_irq.c          |    2 +
 include/hw/ppc/xics.h       |    6 ++--
 include/hw/ppc/xics_spapr.h |    3 +-
 5 files changed, 78 insertions(+), 40 deletions(-)


Reply via email to