diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-21 23:15:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-21 23:15:16 -0400 |
commit | f0d8690ad443069b26df43a1be09c0f14a928eb9 (patch) | |
tree | 74a19a907b64ad441e63373842d268efa6f99d72 /arch/x86/include | |
parent | 2f8126e3964261db3184d95bff1ae801e61239e9 (diff) | |
parent | c447e76b4cabb49ddae8e49c5758f031f35d55fb (diff) |
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull KVM fixes from Paolo Bonzini:
"This includes a fix for two oopses, one on PPC and on x86.
The rest is fixes for bugs with newer Intel processors"
* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
kvm/fpu: Enable eager restore kvm FPU for MPX
Revert "KVM: x86: drop fpu_activate hook"
kvm: fix crash in kvm_vcpu_reload_apic_access_page
KVM: MMU: fix SMAP virtualization
KVM: MMU: fix CR4.SMEP=1, CR0.WP=0 with shadow pages
KVM: MMU: fix smap permission check
KVM: PPC: Book3S HV: Fix list traversal in error case
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/kvm_host.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index dea2e7e962e3..f4a555beef19 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h | |||
@@ -207,6 +207,7 @@ union kvm_mmu_page_role { | |||
207 | unsigned nxe:1; | 207 | unsigned nxe:1; |
208 | unsigned cr0_wp:1; | 208 | unsigned cr0_wp:1; |
209 | unsigned smep_andnot_wp:1; | 209 | unsigned smep_andnot_wp:1; |
210 | unsigned smap_andnot_wp:1; | ||
210 | }; | 211 | }; |
211 | }; | 212 | }; |
212 | 213 | ||
@@ -400,6 +401,7 @@ struct kvm_vcpu_arch { | |||
400 | struct kvm_mmu_memory_cache mmu_page_header_cache; | 401 | struct kvm_mmu_memory_cache mmu_page_header_cache; |
401 | 402 | ||
402 | struct fpu guest_fpu; | 403 | struct fpu guest_fpu; |
404 | bool eager_fpu; | ||
403 | u64 xcr0; | 405 | u64 xcr0; |
404 | u64 guest_supported_xcr0; | 406 | u64 guest_supported_xcr0; |
405 | u32 guest_xstate_size; | 407 | u32 guest_xstate_size; |
@@ -743,6 +745,7 @@ struct kvm_x86_ops { | |||
743 | void (*cache_reg)(struct kvm_vcpu *vcpu, enum kvm_reg reg); | 745 | void (*cache_reg)(struct kvm_vcpu *vcpu, enum kvm_reg reg); |
744 | unsigned long (*get_rflags)(struct kvm_vcpu *vcpu); | 746 | unsigned long (*get_rflags)(struct kvm_vcpu *vcpu); |
745 | void (*set_rflags)(struct kvm_vcpu *vcpu, unsigned long rflags); | 747 | void (*set_rflags)(struct kvm_vcpu *vcpu, unsigned long rflags); |
748 | void (*fpu_activate)(struct kvm_vcpu *vcpu); | ||
746 | void (*fpu_deactivate)(struct kvm_vcpu *vcpu); | 749 | void (*fpu_deactivate)(struct kvm_vcpu *vcpu); |
747 | 750 | ||
748 | void (*tlb_flush)(struct kvm_vcpu *vcpu); | 751 | void (*tlb_flush)(struct kvm_vcpu *vcpu); |