diff options
author | Scott Wood <scottwood@freescale.com> | 2013-06-11 11:38:31 -0500 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2013-06-19 12:15:13 +0200 |
commit | f8941fbe204fa2fb51e7acd8bfd0f51225fe03b4 (patch) | |
tree | 5e569270a6348057ca574d672438f5f17b5c0718 /arch/powerpc/kvm | |
parent | 764bcbc5a6d7a2f3e75c9f0e4caa984e2926e346 (diff) | |
download | op-kernel-dev-f8941fbe204fa2fb51e7acd8bfd0f51225fe03b4.zip op-kernel-dev-f8941fbe204fa2fb51e7acd8bfd0f51225fe03b4.tar.gz |
kvm/ppc/booke: Delay kvmppc_lazy_ee_enable
kwmppc_lazy_ee_enable() should be called as late as possible,
or else we get things like WARN_ON(preemptible()) in enable_kernel_fp()
in configurations where preemptible() works.
Note that book3s_pr already waits until just before __kvmppc_vcpu_run
to call kvmppc_lazy_ee_enable().
Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/powerpc/kvm')
-rw-r--r-- | arch/powerpc/kvm/booke.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index 5cd7ad0..1a1b511 100644 --- a/arch/powerpc/kvm/booke.c +++ b/arch/powerpc/kvm/booke.c @@ -673,7 +673,6 @@ int kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) ret = s; goto out; } - kvmppc_lazy_ee_enable(); kvm_guest_enter(); @@ -699,6 +698,8 @@ int kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) kvmppc_load_guest_fp(vcpu); #endif + kvmppc_lazy_ee_enable(); + ret = __kvmppc_vcpu_run(kvm_run, vcpu); /* No need for kvm_guest_exit. It's done in handle_exit. |