aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/kvm_host.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include/asm/kvm_host.h')
-rw-r--r--arch/x86/include/asm/kvm_host.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index a57cdeacc4d2..2bda62485c4c 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -15,6 +15,7 @@
15#include <linux/mm.h> 15#include <linux/mm.h>
16#include <linux/mmu_notifier.h> 16#include <linux/mmu_notifier.h>
17#include <linux/tracepoint.h> 17#include <linux/tracepoint.h>
18#include <linux/cpumask.h>
18 19
19#include <linux/kvm.h> 20#include <linux/kvm.h>
20#include <linux/kvm_para.h> 21#include <linux/kvm_para.h>
@@ -358,6 +359,8 @@ struct kvm_vcpu_arch {
358 359
359 /* fields used by HYPER-V emulation */ 360 /* fields used by HYPER-V emulation */
360 u64 hv_vapic; 361 u64 hv_vapic;
362
363 cpumask_var_t wbinvd_dirty_mask;
361}; 364};
362 365
363struct kvm_arch { 366struct kvm_arch {
@@ -514,6 +517,8 @@ struct kvm_x86_ops {
514 517
515 void (*set_supported_cpuid)(u32 func, struct kvm_cpuid_entry2 *entry); 518 void (*set_supported_cpuid)(u32 func, struct kvm_cpuid_entry2 *entry);
516 519
520 bool (*has_wbinvd_exit)(void);
521
517 const struct trace_print_flags *exit_reasons_str; 522 const struct trace_print_flags *exit_reasons_str;
518}; 523};
519 524
@@ -571,6 +576,7 @@ void kvm_emulate_cpuid(struct kvm_vcpu *vcpu);
571int kvm_emulate_halt(struct kvm_vcpu *vcpu); 576int kvm_emulate_halt(struct kvm_vcpu *vcpu);
572int emulate_invlpg(struct kvm_vcpu *vcpu, gva_t address); 577int emulate_invlpg(struct kvm_vcpu *vcpu, gva_t address);
573int emulate_clts(struct kvm_vcpu *vcpu); 578int emulate_clts(struct kvm_vcpu *vcpu);
579int kvm_emulate_wbinvd(struct kvm_vcpu *vcpu);
574 580
575void kvm_get_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg); 581void kvm_get_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg);
576int kvm_load_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, int seg); 582int kvm_load_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, int seg);