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


Reply via email to