]> git.proxmox.com Git - mirror_qemu.git/commit
ppc/xive: Move the TIMA operations to the controller model
authorCédric Le Goater <clg@kaod.org>
Mon, 25 Nov 2019 06:58:14 +0000 (07:58 +0100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Mon, 16 Dec 2019 23:39:48 +0000 (10:39 +1100)
commitd024a2c1114fadd9b0692be4e594a9b8b31197af
tree403ef9158a85eb89c8e429a1199db2253864e4b1
parent5373c61d6a7ec29c2b1126cb908fd08e23b4247b
ppc/xive: Move the TIMA operations to the controller model

On the P9 Processor, the thread interrupt context registers of a CPU
can be accessed "directly" when by load/store from the CPU or
"indirectly" by the IC through an indirect TIMA page. This requires to
configure first the PC_TCTXT_INDIRx registers.

Today, we rely on the get_tctx() handler to deduce from the CPU PIR
the chip from which the TIMA access is being done. By handling the
TIMA memory ops under the interrupt controller model of each machine,
we can uniformize the TIMA direct and indirect ops under PowerNV. We
can also check that the CPUs have been enabled in the XIVE controller.

This prepares ground for the future versions of XIVE.

Reviewed-by: Greg Kurz <groug@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20191125065820.927-15-clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/intc/pnv_xive.c
hw/intc/spapr_xive.c
hw/intc/xive.c
include/hw/ppc/xive.h