diff options
author | Alexander Graf <agraf@suse.de> | 2013-11-29 02:29:00 +0100 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2013-12-09 09:41:39 +0100 |
commit | 40fdd8c88c4a5e9b26bfbed2215ac661f24aef07 (patch) | |
tree | 89cbf59c364f0f310b28a0eb6a398eab1d388835 /arch/powerpc/include/asm/kvm_book3s_asm.h | |
parent | c9dad7f9db4ed42de37d3f0ef2b2c0e10d5b6f92 (diff) | |
download | op-kernel-dev-40fdd8c88c4a5e9b26bfbed2215ac661f24aef07.zip op-kernel-dev-40fdd8c88c4a5e9b26bfbed2215ac661f24aef07.tar.gz |
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/asm/kvm_book3s_asm.h')
-rw-r--r-- | arch/powerpc/include/asm/kvm_book3s_asm.h | 1 |
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 0bd9348..412b2f3 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; |