KVM: PPC: Book3S HV: Don't access XIVE PIPR register using byte accesses
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 6 Sep 2017 05:20:55 +0000 (15:20 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 12 Sep 2017 06:02:07 +0000 (16:02 +1000)
commitd222af072380c4470295c07d84ecb15f4937e365
tree10fae9caad0faf7928465d2d7cffd892dfc5ce4d
parent5f54c8b2d4fad95d1f8ecbe023ebe6038e6d3760
KVM: PPC: Book3S HV: Don't access XIVE PIPR register using byte accesses

The XIVE interrupt controller on POWER9 machines doesn't support byte
accesses to any register in the thread management area other than the
CPPR (current processor priority register).  In particular, when
reading the PIPR (pending interrupt priority register), we need to
do a 32-bit or 64-bit load.

Cc: stable@vger.kernel.org # v4.13
Fixes: 2c4fb78f78b6 ("KVM: PPC: Book3S HV: Workaround POWER9 DD1.0 bug causing IPB bit loss")
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/kvm/book3s_hv_rm_xive.c
arch/powerpc/kvm/book3s_xive.c
arch/powerpc/kvm/book3s_xive_template.c