[PATCH 0/4] KVM: PPC: Book3S: PR: Fix with CONFIG_PREEMPT=y

Alexander Graf
2013-11-29T02:54:57Z

When we run book3s pr kvm with CONFIG_PREEMPT=y badness occurs.

The reason is that we don't expect interrups to occur in the exit
path until we hit the point where we enable interrupts (after the
svcpu sync).

However thanks to our manual interrupt replay logic we do get
preempted because the interrupt handler thinks we have interrupts
enabled.

While debugging this I also stumbled over a register clobbering
issue that this patch set also fixes.

I would consider all of these patches for 3.13 with CC on stable
once they're through review.

Alex

Alexander Graf (4):
KVM: PPC: Book3S: PR: Don't clobber our exit handler id
KVM: PPC: Book3S: PR: Export kvmppc_copy_to|from_svcpu
KVM: PPC: Book3S: PR: Make svcpu -> vcpu store preempt savvy
KVM: PPC: Book3S: PR: Enable interrupts earlier

arch/powerpc/include/asm/kvm_book3s.h | 4 ++++
arch/powerpc/include/asm/kvm_book3s_asm.h | 1 +
arch/powerpc/kvm/book3s_interrupts.S | 21 ++++++++++++---------
arch/powerpc/kvm/book3s_pr.c | 22 ++++++++++++++++++++++
arch/powerpc/kvm/book3s_rmhandlers.S | 6 +-----
5 files changed, 40 insertions(+), 14 deletions(-)

--
1.8.1.4