This moves interrupts allocation business from SPAPR to XICS and makes use of it.
Changes: v3: * replaces static array of descriptors in SPAPR PHB with GHashTable * implements migration of hash table via temporary array v2: * s/server/source/ * fixed typos, code style, added an assert * added patch for spapr_pci for better IRQ reuse for MSI/MSIX There is just one source at the moment. We might create one per PHB and one per VIO device or VIO bus but I do not see any immediate profit from it. Juan, Peter, you are cc-ed because 8/9 introduces new VMSTATE_STRUCT_VARRAY_ALLOC and 9/9 makes use of it and checkpatch.pl thinks you might be right people to get opinion about this from. Please comment. Thanks! Alexey Kardashevskiy (9): xics: Add flags for interrupts xics: Add xics_find_source() xics: Disable flags reset on xics reset spapr: Move interrupt allocator to xics xics: Remove obsolete xics_set_irq_type() spapr: Remove @next_irq xics: Implement xics_ics_free() vmstate: Add preallocation for migrating arrays (VMS_ALLOC flag) spapr_pci: Use XICS interrupt allocator and do not cache interrupts in PHB hw/intc/xics.c | 165 ++++++++++++++++++++++++++++++++++--- hw/intc/xics_kvm.c | 12 ++- hw/ppc/spapr.c | 70 +--------------- hw/ppc/spapr_events.c | 2 +- hw/ppc/spapr_pci.c | 197 +++++++++++++++++++++++++------------------- hw/ppc/spapr_vio.c | 2 +- include/hw/pci-host/spapr.h | 21 +++-- include/hw/ppc/spapr.h | 11 --- include/hw/ppc/xics.h | 10 ++- include/migration/vmstate.h | 11 +++ trace-events | 11 ++- vmstate.c | 13 ++- 12 files changed, 330 insertions(+), 195 deletions(-) -- 2.0.0