OSDN Git Service

ppc/pnv: Clarify how the TIMA is accessed on a multichip system
authorCédric Le Goater <clg@kaod.org>
Mon, 25 Nov 2019 06:58:13 +0000 (07:58 +0100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Mon, 16 Dec 2019 23:39:48 +0000 (10:39 +1100)
commit5373c61d6a7ec29c2b1126cb908fd08e23b4247b
tree20f8190dc4baf346e717ad6a56b74061419c7392
parent74f23d433268a5b8020fc9d037d4512a55fe4d31
ppc/pnv: Clarify how the TIMA is accessed on a multichip system

The TIMA region gives access to the thread interrupt context registers
of a CPU. It is mapped at the same address on all chips and can be
accessed by any CPU of the system. To identify the chip from which the
access is being done, the PowerBUS uses a 'chip' field in the
load/store messages. QEMU does not model these messages, instead, we
extract the chip id from the CPU PIR and do a lookup at the machine
level to fetch the targeted interrupt controller.

Introduce pnv_get_chip() and pnv_xive_tm_get_xive() helpers to clarify
this process in pnv_xive_get_tctx(). The latter will be removed in the
subsequent patches but the same principle will be kept.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20191125065820.927-14-clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/intc/pnv_xive.c
hw/ppc/pnv.c
include/hw/ppc/pnv.h