OSDN Git Service

spapr/irq: introduce a spapr_irq_init_device() helper
authorCédric Le Goater <clg@kaod.org>
Mon, 13 May 2019 08:42:42 +0000 (10:42 +0200)
committerDavid Gibson <david@gibson.dropbear.id.au>
Wed, 29 May 2019 01:39:46 +0000 (11:39 +1000)
commitae805ea9073bb97363d867ef081be27e2c63d782
tree43b5ad65695fbf14bf072dfe2ade6f83748a9286
parent3bf84e99c823987704d1324cf0e34e7597e737a5
spapr/irq: introduce a spapr_irq_init_device() helper

The way the XICS and the XIVE devices are initialized follows the same
pattern. First, try to connect to the KVM device and if not possible
fallback on the emulated device, unless a kernel_irqchip is required.
The spapr_irq_init_device() routine implements this sequence in
generic way using new sPAPR IRQ handlers ->init_emu() and ->init_kvm().

The XIVE init sequence is moved under the associated sPAPR IRQ
->init() handler. This will change again when KVM support is added for
the dual interrupt mode.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Message-Id: <20190513084245.25755-12-clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/intc/spapr_xive.c
hw/ppc/spapr_irq.c
include/hw/ppc/spapr_irq.h
include/hw/ppc/spapr_xive.h