diff options
author | Liu Yu <yu.liu@freescale.com> | 2009-01-14 11:47:38 -0500 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-03-24 05:03:05 -0400 |
commit | 9aa4dd5e5f47a5feb96fc394fccf0265ab7d85a4 (patch) | |
tree | f5c4183e9b7abcf5fe9b9a7e552915d4455ae84f /arch/powerpc/kvm/e500_tlb.c | |
parent | fb2838d446f6ee7e13e4149e08ec138753c5c450 (diff) |
KVM: ppc: Move to new TLB invalidate interface
Commit 2a4aca1144394653269720ffbb5a325a77abd5fa removed old method _tlbia().
Signed-off-by: Liu Yu <yu.liu@freescale.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/kvm/e500_tlb.c')
-rw-r--r-- | arch/powerpc/kvm/e500_tlb.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/powerpc/kvm/e500_tlb.c b/arch/powerpc/kvm/e500_tlb.c index e3daf57b5f5e..d437160d388c 100644 --- a/arch/powerpc/kvm/e500_tlb.c +++ b/arch/powerpc/kvm/e500_tlb.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <asm/kvm_ppc.h> | 20 | #include <asm/kvm_ppc.h> |
21 | #include <asm/kvm_e500.h> | 21 | #include <asm/kvm_e500.h> |
22 | 22 | ||
23 | #include "../mm/mmu_decl.h" | ||
23 | #include "e500_tlb.h" | 24 | #include "e500_tlb.h" |
24 | 25 | ||
25 | #define to_htlb1_esel(esel) (tlb1_entry_num - (esel) - 1) | 26 | #define to_htlb1_esel(esel) (tlb1_entry_num - (esel) - 1) |
@@ -158,7 +159,7 @@ void kvmppc_e500_tlb_load(struct kvm_vcpu *vcpu, int cpu) | |||
158 | 159 | ||
159 | void kvmppc_e500_tlb_put(struct kvm_vcpu *vcpu) | 160 | void kvmppc_e500_tlb_put(struct kvm_vcpu *vcpu) |
160 | { | 161 | { |
161 | _tlbia(); | 162 | _tlbil_all(); |
162 | } | 163 | } |
163 | 164 | ||
164 | /* Search the guest TLB for a matching entry. */ | 165 | /* Search the guest TLB for a matching entry. */ |
@@ -362,11 +363,10 @@ void kvmppc_mmu_priv_switch(struct kvm_vcpu *vcpu, int usermode) | |||
362 | int i; | 363 | int i; |
363 | 364 | ||
364 | /* XXX Replace loop with fancy data structures. */ | 365 | /* XXX Replace loop with fancy data structures. */ |
365 | /* needn't set modified since tlbia will make TLB1 coherent */ | ||
366 | for (i = 0; i < tlb1_max_shadow_size(); i++) | 366 | for (i = 0; i < tlb1_max_shadow_size(); i++) |
367 | kvmppc_e500_stlbe_invalidate(vcpu_e500, 1, i); | 367 | kvmppc_e500_stlbe_invalidate(vcpu_e500, 1, i); |
368 | 368 | ||
369 | _tlbia(); | 369 | _tlbil_all(); |
370 | } | 370 | } |
371 | } | 371 | } |
372 | 372 | ||
@@ -417,7 +417,7 @@ int kvmppc_e500_emul_tlbivax(struct kvm_vcpu *vcpu, int ra, int rb) | |||
417 | kvmppc_e500_gtlbe_invalidate(vcpu_e500, tlbsel, esel); | 417 | kvmppc_e500_gtlbe_invalidate(vcpu_e500, tlbsel, esel); |
418 | } | 418 | } |
419 | 419 | ||
420 | _tlbia(); | 420 | _tlbil_all(); |
421 | 421 | ||
422 | return EMULATE_DONE; | 422 | return EMULATE_DONE; |
423 | } | 423 | } |
@@ -604,7 +604,7 @@ void kvmppc_mmu_destroy(struct kvm_vcpu *vcpu) | |||
604 | kvmppc_e500_shadow_release(vcpu_e500, tlbsel, i); | 604 | kvmppc_e500_shadow_release(vcpu_e500, tlbsel, i); |
605 | 605 | ||
606 | /* discard all guest mapping */ | 606 | /* discard all guest mapping */ |
607 | _tlbia(); | 607 | _tlbil_all(); |
608 | } | 608 | } |
609 | 609 | ||
610 | void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 eaddr, gpa_t gpaddr, | 610 | void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 eaddr, gpa_t gpaddr, |