ppc/xics: preserve P and Q bits for KVM IRQs
commit229e16fd247c7d39822627916d18b52f733cbfa1
authorSam Bobroff <sam.bobroff@au1.ibm.com>
Thu, 27 Apr 2017 06:32:03 +0000 (27 16:32 +1000)
committerDavid Gibson <david@gibson.dropbear.id.au>
Wed, 10 May 2017 23:45:15 +0000 (11 09:45 +1000)
tree07f616752167eb37f19eb55eed6651db2b1f9122
parent063cb7cbc9f65ff4095df884cfcd7eaf3a160555
ppc/xics: preserve P and Q bits for KVM IRQs

Kernel commit 17d48610ae0f ("KVM: PPC: Book 3S: XICS: Implement ICS
P/Q states") added new bits to the state used by KVM IRQs. Currently,
QEMU does not preserve these bits, so migrating (or otherwise saving
and restoring) the guest state causes the P and Q bits to be cleared.

Clearing the P bit has no effect, because the kernel will set it based
on other data, but the loss of a set Q bit will cause a lost
interrupt.

This patch preserves the P and Q bits, correcting the problem.

Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/intc/xics_kvm.c
include/hw/ppc/xics.h