diff options
Diffstat (limited to 'arch/x86/include/asm/kvm_host.h')
-rw-r--r-- | arch/x86/include/asm/kvm_host.h | 6 |
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); | |||
603 | int kvm_mmu_load(struct kvm_vcpu *vcpu); | 608 | int kvm_mmu_load(struct kvm_vcpu *vcpu); |
604 | void kvm_mmu_unload(struct kvm_vcpu *vcpu); | 609 | void kvm_mmu_unload(struct kvm_vcpu *vcpu); |
605 | void kvm_mmu_sync_roots(struct kvm_vcpu *vcpu); | 610 | void kvm_mmu_sync_roots(struct kvm_vcpu *vcpu); |
611 | void kvm_mmu_sync_global(struct kvm_vcpu *vcpu); | ||
606 | 612 | ||
607 | int kvm_emulate_hypercall(struct kvm_vcpu *vcpu); | 613 | int kvm_emulate_hypercall(struct kvm_vcpu *vcpu); |
608 | 614 | ||