spapr: introduce a new sPAPR IRQ backend supporting XIVE and XICS
commit13db0cd9b853225e0061c95e922af8fd044473b1
authorCédric Le Goater <clg@kaod.org>
Wed, 2 Jan 2019 05:57:42 +0000 (2 06:57 +0100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Tue, 8 Jan 2019 22:28:14 +0000 (9 09:28 +1100)
tree753063ca5e7ca2a66ad09aed6f5adf79b3b78f3c
parent72c1e5a66affc2ae69342a4081361f69e1f686b6
spapr: introduce a new sPAPR IRQ backend supporting XIVE and XICS

The 'dual' sPAPR IRQ backend supports both interrupt mode, XIVE
exploitation mode and the legacy compatibility mode (XICS). both modes
are not supported at the same time.

The machine starts with the legacy mode and a new interrupt mode can
then be negotiated by the CAS process. In this case, the new mode is
activated after a reset to take into account the required changes in
the machine. These impact the device tree layout, the interrupt
presenter object and the exposed MMIO regions in the case of XIVE.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr.c
hw/ppc/spapr_hcall.c
hw/ppc/spapr_irq.c
include/hw/ppc/spapr_irq.h