diff options
author | Avi Kivity <avi@redhat.com> | 2010-01-10 05:19:20 -0500 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2010-03-01 10:35:51 -0500 |
commit | 4610c83cdc8bff04f2f22883749f716b1ccc502f (patch) | |
tree | c88be0b18b3163964dca22a0b7c20bd0c78c6914 | |
parent | d225157bc6a442b1214882635fbf287d7d0e8133 (diff) |
KVM: SVM: Lazy fpu with npt
Now that we can allow the guest to play with cr0 when the fpu is loaded,
we can enable lazy fpu when npt is in use.
Acked-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r-- | arch/x86/kvm/svm.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 83c7ab1bdad8..8d7cb62ebef6 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c | |||
@@ -2588,8 +2588,6 @@ static void svm_flush_tlb(struct kvm_vcpu *vcpu) | |||
2588 | 2588 | ||
2589 | static void svm_prepare_guest_switch(struct kvm_vcpu *vcpu) | 2589 | static void svm_prepare_guest_switch(struct kvm_vcpu *vcpu) |
2590 | { | 2590 | { |
2591 | if (npt_enabled) | ||
2592 | vcpu->fpu_active = 1; | ||
2593 | } | 2591 | } |
2594 | 2592 | ||
2595 | static inline void sync_cr8_to_lapic(struct kvm_vcpu *vcpu) | 2593 | static inline void sync_cr8_to_lapic(struct kvm_vcpu *vcpu) |
@@ -2928,12 +2926,6 @@ static void svm_fpu_deactivate(struct kvm_vcpu *vcpu) | |||
2928 | { | 2926 | { |
2929 | struct vcpu_svm *svm = to_svm(vcpu); | 2927 | struct vcpu_svm *svm = to_svm(vcpu); |
2930 | 2928 | ||
2931 | if (npt_enabled) { | ||
2932 | /* hack: npt requires active fpu at this time */ | ||
2933 | vcpu->fpu_active = 1; | ||
2934 | return; | ||
2935 | } | ||
2936 | |||
2937 | update_cr0_intercept(svm); | 2929 | update_cr0_intercept(svm); |
2938 | svm->vmcb->control.intercept_exceptions |= 1 << NM_VECTOR; | 2930 | svm->vmcb->control.intercept_exceptions |= 1 << NM_VECTOR; |
2939 | } | 2931 | } |