aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2010-01-10 05:19:20 -0500
committerMarcelo Tosatti <mtosatti@redhat.com>2010-03-01 10:35:51 -0500
commit4610c83cdc8bff04f2f22883749f716b1ccc502f (patch)
treec88be0b18b3163964dca22a0b7c20bd0c78c6914
parentd225157bc6a442b1214882635fbf287d7d0e8133 (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.c8
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
2589static void svm_prepare_guest_switch(struct kvm_vcpu *vcpu) 2589static void svm_prepare_guest_switch(struct kvm_vcpu *vcpu)
2590{ 2590{
2591 if (npt_enabled)
2592 vcpu->fpu_active = 1;
2593} 2591}
2594 2592
2595static inline void sync_cr8_to_lapic(struct kvm_vcpu *vcpu) 2593static 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}