KVM: PPC: Book3S: fix XIVE migration of pending interrupts
authorCédric Le Goater <clg@kaod.org>
Tue, 12 Dec 2017 12:02:04 +0000 (12:02 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 22 Dec 2017 04:34:02 +0000 (15:34 +1100)
commitdc1c4165d189350cb51bdd3057deb6ecd164beda
tree36a209982dc96e1dafe984b6ea85d021eea46e76
parent182dc9c7f217146d69d9c0b75c150c0314b9b170
KVM: PPC: Book3S: fix XIVE migration of pending interrupts

When restoring a pending interrupt, we are setting the Q bit to force
a retrigger in xive_finish_unmask(). But we also need to force an EOI
in this case to reach the same initial state : P=1, Q=0.

This can be done by not setting 'old_p' for pending interrupts which
will inform xive_finish_unmask() that an EOI needs to be sent.

Fixes: 5af50993850a ("KVM: PPC: Book3S HV: Native usage of the XIVE interrupt controller")
Cc: stable@vger.kernel.org # v4.12+
Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
Tested-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kvm/book3s_xive.c