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 93d0aed35880..65b1ed295698 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -182,6 +182,8 @@ struct kvm_mmu_page {
182 struct list_head link; 182 struct list_head link;
183 struct hlist_node hash_link; 183 struct hlist_node hash_link;
184 184
185 struct list_head oos_link;
186
185 /* 187 /*
186 * The following two entries are used to key the shadow page in the 188 * The following two entries are used to key the shadow page in the
187 * hash table. 189 * hash table.
@@ -200,6 +202,7 @@ struct kvm_mmu_page {
200 int multimapped; /* More than one parent_pte? */ 202 int multimapped; /* More than one parent_pte? */
201 int root_count; /* Currently serving as active root */ 203 int root_count; /* Currently serving as active root */
202 bool unsync; 204 bool unsync;
205 bool global;
203 unsigned int unsync_children; 206 unsigned int unsync_children;
204 union { 207 union {
205 u64 *parent_pte; /* !multimapped */ 208 u64 *parent_pte; /* !multimapped */
@@ -356,6 +359,7 @@ struct kvm_arch{
356 */ 359 */
357 struct list_head active_mmu_pages; 360 struct list_head active_mmu_pages;
358 struct list_head assigned_dev_head; 361 struct list_head assigned_dev_head;
362 struct list_head oos_global_pages;
359 struct dmar_domain *intel_iommu_domain; 363 struct dmar_domain *intel_iommu_domain;
360 struct kvm_pic *vpic; 364 struct kvm_pic *vpic;
361 struct kvm_ioapic *vioapic; 365 struct kvm_ioapic *vioapic;
@@ -385,6 +389,7 @@ struct kvm_vm_stat {
385 u32 mmu_recycled; 389 u32 mmu_recycled;
386 u32 mmu_cache_miss; 390 u32 mmu_cache_miss;
387 u32 mmu_unsync; 391 u32 mmu_unsync;
392 u32 mmu_unsync_global;
388 u32 remote_tlb_flush; 393 u32 remote_tlb_flush;
389 u32 lpages; 394 u32 lpages;
390}; 395};
@@ -603,6 +608,7 @@ void __kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu);
603int kvm_mmu_load(struct kvm_vcpu *vcpu); 608int kvm_mmu_load(struct kvm_vcpu *vcpu);
604void kvm_mmu_unload(struct kvm_vcpu *vcpu); 609void kvm_mmu_unload(struct kvm_vcpu *vcpu);
605void kvm_mmu_sync_roots(struct kvm_vcpu *vcpu); 610void kvm_mmu_sync_roots(struct kvm_vcpu *vcpu);
611void kvm_mmu_sync_global(struct kvm_vcpu *vcpu);
606 612
607int kvm_emulate_hypercall(struct kvm_vcpu *vcpu); 613int kvm_emulate_hypercall(struct kvm_vcpu *vcpu);
608 614