diff options
author | Marcelo Tosatti <mtosatti@redhat.com> | 2008-09-23 12:18:35 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2008-10-15 08:25:21 -0400 |
commit | a7052897b3bcd568a9f5bfaa558957039e7e7ec0 (patch) | |
tree | 5495e806032f0fddf4de1ad4381c9b3f5d49dfbc /include | |
parent | 0ba73cdadb8ac172f396df7e23c4a9cebd59b550 (diff) |
KVM: x86: trap invlpg
With pages out of sync invlpg needs to be trapped. For now simply nuke
the entry.
Untested on AMD.
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86/kvm_host.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/asm-x86/kvm_host.h b/include/asm-x86/kvm_host.h index 475d8ab83bff..8b935cc4c14b 100644 --- a/include/asm-x86/kvm_host.h +++ b/include/asm-x86/kvm_host.h | |||
@@ -222,6 +222,7 @@ struct kvm_mmu { | |||
222 | struct kvm_mmu_page *page); | 222 | struct kvm_mmu_page *page); |
223 | int (*sync_page)(struct kvm_vcpu *vcpu, | 223 | int (*sync_page)(struct kvm_vcpu *vcpu, |
224 | struct kvm_mmu_page *sp); | 224 | struct kvm_mmu_page *sp); |
225 | void (*invlpg)(struct kvm_vcpu *vcpu, gva_t gva); | ||
225 | hpa_t root_hpa; | 226 | hpa_t root_hpa; |
226 | int root_level; | 227 | int root_level; |
227 | int shadow_root_level; | 228 | int shadow_root_level; |
@@ -591,6 +592,7 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu); | |||
591 | int kvm_fix_hypercall(struct kvm_vcpu *vcpu); | 592 | int kvm_fix_hypercall(struct kvm_vcpu *vcpu); |
592 | 593 | ||
593 | int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t gva, u32 error_code); | 594 | int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t gva, u32 error_code); |
595 | void kvm_mmu_invlpg(struct kvm_vcpu *vcpu, gva_t gva); | ||
594 | 596 | ||
595 | void kvm_enable_tdp(void); | 597 | void kvm_enable_tdp(void); |
596 | void kvm_disable_tdp(void); | 598 | void kvm_disable_tdp(void); |