diff options
Diffstat (limited to 'arch/x86/kvm/cpuid.c')
-rw-r--r-- | arch/x86/kvm/cpuid.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index 59b69f6a2844..1d08ad3582d0 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c | |||
@@ -16,6 +16,8 @@ | |||
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <linux/vmalloc.h> | 17 | #include <linux/vmalloc.h> |
18 | #include <linux/uaccess.h> | 18 | #include <linux/uaccess.h> |
19 | #include <asm/i387.h> /* For use_eager_fpu. Ugh! */ | ||
20 | #include <asm/fpu-internal.h> /* For use_eager_fpu. Ugh! */ | ||
19 | #include <asm/user.h> | 21 | #include <asm/user.h> |
20 | #include <asm/xsave.h> | 22 | #include <asm/xsave.h> |
21 | #include "cpuid.h" | 23 | #include "cpuid.h" |
@@ -95,6 +97,8 @@ int kvm_update_cpuid(struct kvm_vcpu *vcpu) | |||
95 | if (best && (best->eax & (F(XSAVES) | F(XSAVEC)))) | 97 | if (best && (best->eax & (F(XSAVES) | F(XSAVEC)))) |
96 | best->ebx = xstate_required_size(vcpu->arch.xcr0, true); | 98 | best->ebx = xstate_required_size(vcpu->arch.xcr0, true); |
97 | 99 | ||
100 | vcpu->arch.eager_fpu = guest_cpuid_has_mpx(vcpu); | ||
101 | |||
98 | /* | 102 | /* |
99 | * The existing code assumes virtual address is 48-bit in the canonical | 103 | * The existing code assumes virtual address is 48-bit in the canonical |
100 | * address checks; exit if it is ever changed. | 104 | * address checks; exit if it is ever changed. |