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.
Changelog v1: * Change XICS to XICS_SPAPR and KVM_XICS to XICS_KVM_SPAPR * Added xics_ to function get_cpu_index_by_dt_id as this is a global symbol * Dropped server parameter from icp_check_ipi * Send HW_ERROR when ics is NULL * Remove redundant parameters in trace routines * Use type ICS_SIMPLE, ICS_BASE and ICS_KVM * Dropped xics-native and info pic patches for this version ToDo: + Use ICPNative and XICSNative in "native" implementation + xics_spapr_alloc - getting rid of that + xirr_owner - how to reassign after migration Benjamin Herrenschmidt (8): 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: 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 default-configs/ppc64-softmmu.mak | 1 + hw/intc/Makefile.objs | 1 + hw/intc/trace-events | 14 +- hw/intc/xics.c | 724 +++++++++++--------------------------- hw/intc/xics_kvm.c | 92 +++-- hw/intc/xics_spapr.c | 460 ++++++++++++++++++++++++ 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/spapr.h | 2 +- include/hw/ppc/spapr_vio.h | 2 +- include/hw/ppc/xics.h | 79 +++-- 15 files changed, 803 insertions(+), 619 deletions(-) create mode 100644 hw/intc/xics_spapr.c -- 2.7.4