mirror of https://gitee.com/openkylin/linux.git
KVM: Allow kvm_load_guest_fpu() even when !vcpu->fpu_active
This allows accessing the guest fpu from the instruction emulator, as well as being symmetric with kvm_put_guest_fpu(). Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
ab344828eb
commit
2608d7a12f
|
@ -4239,7 +4239,8 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
|
||||||
preempt_disable();
|
preempt_disable();
|
||||||
|
|
||||||
kvm_x86_ops->prepare_guest_switch(vcpu);
|
kvm_x86_ops->prepare_guest_switch(vcpu);
|
||||||
kvm_load_guest_fpu(vcpu);
|
if (vcpu->fpu_active)
|
||||||
|
kvm_load_guest_fpu(vcpu);
|
||||||
|
|
||||||
local_irq_disable();
|
local_irq_disable();
|
||||||
|
|
||||||
|
@ -5285,7 +5286,7 @@ EXPORT_SYMBOL_GPL(fx_init);
|
||||||
|
|
||||||
void kvm_load_guest_fpu(struct kvm_vcpu *vcpu)
|
void kvm_load_guest_fpu(struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
if (!vcpu->fpu_active || vcpu->guest_fpu_loaded)
|
if (vcpu->guest_fpu_loaded)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
vcpu->guest_fpu_loaded = 1;
|
vcpu->guest_fpu_loaded = 1;
|
||||||
|
|
Loading…
Reference in New Issue