ppc/pnv: Fix TIMA indirect access
commit119eaa9d11cb5245fae0a2cbe4f18dda55744dfb
authorCédric Le Goater <clg@kaod.org>
Mon, 25 Nov 2019 06:58:07 +0000 (25 07:58 +0100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Mon, 16 Dec 2019 23:39:48 +0000 (17 10:39 +1100)
treeaa8e92c412f620692503485aea610be4e25f2a57
parent5014c60261cf38b7c210831548c042982218a999
ppc/pnv: Fix TIMA indirect access

When the TIMA of a CPU needs to be accessed from the indirect page,
the thread id of the target CPU is first stored in the PC_TCTXT_INDIR0
register. This thread id is relative to the chip and not to the system.

Introduce a helper routine to look for a CPU of a given PIR and fix
pnv_xive_get_indirect_tctx() to scan only the threads of the local
chip and not the whole machine.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20191125065820.927-8-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