aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2013-11-29 02:29:00 +0100
committerAlexander Graf <agraf@suse.de>2013-12-09 09:41:39 +0100
commit40fdd8c88c4a5e9b26bfbed2215ac661f24aef07 (patch)
tree89cbf59c364f0f310b28a0eb6a398eab1d388835 /arch/powerpc/include
parentKVM: PPC: Book3S: PR: Export kvmppc_copy_to|from_svcpu (diff)
downloadlinux-dev-40fdd8c88c4a5e9b26bfbed2215ac661f24aef07.tar.xz
linux-dev-40fdd8c88c4a5e9b26bfbed2215ac661f24aef07.zip
KVM: PPC: Book3S: PR: Make svcpu -> vcpu store preempt savvy
As soon as we get back to our "highmem" handler in virtual address space we may get preempted. Today the reason we can get preempted is that we replay interrupts and all the lazy logic thinks we have interrupts enabled. However, it's not hard to make the code interruptible and that way we can enable and handle interrupts even earlier. This fixes random guest crashes that happened with CONFIG_PREEMPT=y for me. Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r--arch/powerpc/include/asm/kvm_book3s_asm.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/kvm_book3s_asm.h b/arch/powerpc/include/asm/kvm_book3s_asm.h
index 0bd9348a4db9..412b2f389474 100644
--- a/arch/powerpc/include/asm/kvm_book3s_asm.h
+++ b/arch/powerpc/include/asm/kvm_book3s_asm.h
@@ -106,6 +106,7 @@ struct kvmppc_host_state {
};
struct kvmppc_book3s_shadow_vcpu {
+ bool in_use;
ulong gpr[14];
u32 cr;
u32 xer;