sPAPR xics related changes required for powernv platform. This brings infrastructure to get the xics native mode for powernv. Tested pseries guests in KVM and TCG mode.
Some ToDos pending in patch 6: + xics_spapr_alloc - getting rid of that + xirr_owner - how to reassign after migration Benjamin Herrenschmidt (11): ppc/xics: Rename existing xics to xics_spapr ppc/xics: Move SPAPR specific code to a separate file ppc/xics: Implement H_IPOLL using an accessor ppc/xics: Remove unused xics_set_irq_type() ppc/xics: Replace "icp" with "xics" in most places ppc/xics: Make the ICSState a list ppc/xics: An ICS with offset 0 is assumed to be uninitialized ppc/xics: Use a helper to add a new ICS ppc/xics: Split ICS into ics-base and ics class ppc/xics: Add "native" XICS subclass ppc/xics: Add xics to the monitor "info pic" command default-configs/ppc64-softmmu.mak | 4 +- hmp-commands-info.hx | 2 + hw/intc/Makefile.objs | 2 + hw/intc/xics.c | 713 +++++++++++--------------------------- hw/intc/xics_kvm.c | 86 +++-- hw/intc/xics_native.c | 295 ++++++++++++++++ hw/intc/xics_spapr.c | 445 ++++++++++++++++++++++++ hw/ppc/ppc.c | 14 + hw/ppc/spapr.c | 19 +- hw/ppc/spapr_cpu_core.c | 4 +- hw/ppc/spapr_events.c | 8 +- hw/ppc/spapr_pci.c | 12 +- hw/ppc/spapr_vio.c | 2 +- include/hw/pci-host/spapr.h | 2 +- include/hw/ppc/ppc.h | 1 + include/hw/ppc/spapr.h | 2 +- include/hw/ppc/spapr_vio.h | 2 +- include/hw/ppc/xics.h | 83 ++++- monitor.c | 4 + 19 files changed, 1113 insertions(+), 587 deletions(-) create mode 100644 hw/intc/xics_native.c create mode 100644 hw/intc/xics_spapr.c -- 2.7.4