diff options
| -rw-r--r-- | arch/powerpc/kvm/e500_mmu.c | 6 | ||||
| -rw-r--r-- | arch/powerpc/kvm/e500_mmu_host.c | 4 | ||||
| -rw-r--r-- | arch/powerpc/kvm/e500_mmu_host.h | 2 |
3 files changed, 4 insertions, 8 deletions
diff --git a/arch/powerpc/kvm/e500_mmu.c b/arch/powerpc/kvm/e500_mmu.c index c3d1721aa1b8..623a192c2658 100644 --- a/arch/powerpc/kvm/e500_mmu.c +++ b/arch/powerpc/kvm/e500_mmu.c | |||
| @@ -541,10 +541,8 @@ static void free_gtlb(struct kvmppc_vcpu_e500 *vcpu_e500) | |||
| 541 | { | 541 | { |
| 542 | int i; | 542 | int i; |
| 543 | 543 | ||
| 544 | clear_tlb1_bitmap(vcpu_e500); | 544 | kvmppc_core_flush_tlb(&vcpu_e500->vcpu); |
| 545 | kfree(vcpu_e500->g2h_tlb1_map); | 545 | kfree(vcpu_e500->g2h_tlb1_map); |
| 546 | |||
| 547 | clear_tlb_refs(vcpu_e500); | ||
| 548 | kfree(vcpu_e500->gtlb_priv[0]); | 546 | kfree(vcpu_e500->gtlb_priv[0]); |
| 549 | kfree(vcpu_e500->gtlb_priv[1]); | 547 | kfree(vcpu_e500->gtlb_priv[1]); |
| 550 | 548 | ||
| @@ -735,7 +733,7 @@ int kvm_vcpu_ioctl_dirty_tlb(struct kvm_vcpu *vcpu, | |||
| 735 | { | 733 | { |
| 736 | struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); | 734 | struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); |
| 737 | kvmppc_recalc_tlb1map_range(vcpu_e500); | 735 | kvmppc_recalc_tlb1map_range(vcpu_e500); |
| 738 | clear_tlb_refs(vcpu_e500); | 736 | kvmppc_core_flush_tlb(vcpu); |
| 739 | return 0; | 737 | return 0; |
| 740 | } | 738 | } |
| 741 | 739 | ||
diff --git a/arch/powerpc/kvm/e500_mmu_host.c b/arch/powerpc/kvm/e500_mmu_host.c index 9a150bced298..a222edfb9a9b 100644 --- a/arch/powerpc/kvm/e500_mmu_host.c +++ b/arch/powerpc/kvm/e500_mmu_host.c | |||
| @@ -262,7 +262,7 @@ static inline void kvmppc_e500_ref_release(struct tlbe_ref *ref) | |||
| 262 | } | 262 | } |
| 263 | } | 263 | } |
| 264 | 264 | ||
| 265 | void clear_tlb1_bitmap(struct kvmppc_vcpu_e500 *vcpu_e500) | 265 | static void clear_tlb1_bitmap(struct kvmppc_vcpu_e500 *vcpu_e500) |
| 266 | { | 266 | { |
| 267 | if (vcpu_e500->g2h_tlb1_map) | 267 | if (vcpu_e500->g2h_tlb1_map) |
| 268 | memset(vcpu_e500->g2h_tlb1_map, 0, | 268 | memset(vcpu_e500->g2h_tlb1_map, 0, |
| @@ -284,7 +284,7 @@ static void clear_tlb_privs(struct kvmppc_vcpu_e500 *vcpu_e500) | |||
| 284 | } | 284 | } |
| 285 | } | 285 | } |
| 286 | 286 | ||
| 287 | void clear_tlb_refs(struct kvmppc_vcpu_e500 *vcpu_e500) | 287 | static void clear_tlb_refs(struct kvmppc_vcpu_e500 *vcpu_e500) |
| 288 | { | 288 | { |
| 289 | int stlbsel = 1; | 289 | int stlbsel = 1; |
| 290 | int i; | 290 | int i; |
diff --git a/arch/powerpc/kvm/e500_mmu_host.h b/arch/powerpc/kvm/e500_mmu_host.h index 9e4d4a20e694..7624835b76c7 100644 --- a/arch/powerpc/kvm/e500_mmu_host.h +++ b/arch/powerpc/kvm/e500_mmu_host.h | |||
| @@ -12,8 +12,6 @@ | |||
| 12 | void inval_gtlbe_on_host(struct kvmppc_vcpu_e500 *vcpu_e500, int tlbsel, | 12 | void inval_gtlbe_on_host(struct kvmppc_vcpu_e500 *vcpu_e500, int tlbsel, |
| 13 | int esel); | 13 | int esel); |
| 14 | 14 | ||
| 15 | void clear_tlb1_bitmap(struct kvmppc_vcpu_e500 *vcpu_e500); | ||
| 16 | void clear_tlb_refs(struct kvmppc_vcpu_e500 *vcpu_e500); | ||
| 17 | int e500_mmu_host_init(struct kvmppc_vcpu_e500 *vcpu_e500); | 15 | int e500_mmu_host_init(struct kvmppc_vcpu_e500 *vcpu_e500); |
| 18 | void e500_mmu_host_uninit(struct kvmppc_vcpu_e500 *vcpu_e500); | 16 | void e500_mmu_host_uninit(struct kvmppc_vcpu_e500 *vcpu_e500); |
| 19 | 17 | ||
