ppc/pnv: Add cut down PSI bridge model and hookup external interrupt
commit54f59d786c05765bf7410eadd10e88f5579df9e7
authorCédric Le Goater <clg@kaod.org>
Wed, 5 Apr 2017 12:41:26 +0000 (5 14:41 +0200)
committerDavid Gibson <david@gibson.dropbear.id.au>
Wed, 26 Apr 2017 02:00:42 +0000 (26 12:00 +1000)
tree8a345cd8673055fb07ce8ad3aed2c288fde817f2
parentbf5615e77cbe5518f201a9be96e13bedb6a5b26d
ppc/pnv: Add cut down PSI bridge model and hookup external interrupt

The Processor Service Interface (PSI) Controller is one of the engines
of the "Bridge" unit which connects the different interfaces to the
Power Processor.

This adds just enough of the PSI bridge to handle various on-chip and
the one external interrupt. The rest of PSI has to do with the link to
the IBM FSP service processor which we don't plan to emulate (not used
on OpenPower machines).

The ics_get() and ics_resend() handlers of the XICSFabric interface of
the PowerNV machine are now defined to handle the Interrupt Control
Source of PSI. The InterruptStatsProvider interface is also modified
to dump the new ICS.

Originally from Benjamin Herrenschmidt <benh@kernel.crashing.org>

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/Makefile.objs
hw/ppc/pnv.c
hw/ppc/pnv_psi.c [new file with mode: 0644]
include/hw/ppc/pnv.h
include/hw/ppc/pnv_psi.h [new file with mode: 0644]
include/hw/ppc/pnv_xscom.h