diff options
author | Hollis Blanchard <hollisb@us.ibm.com> | 2009-01-03 17:23:02 -0500 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-03-24 05:02:56 -0400 |
commit | be8d1cae07d5acf4a61046d7def5eda40f0981e1 (patch) | |
tree | 32560487e3fd05bb6c64c394016e9461c70b2227 /arch/powerpc/kvm/booke.c | |
parent | 58a96214a306fc7fc66105097eea9c4f3bfa35bc (diff) |
KVM: ppc: turn tlb_xlate() into a per-core hook (and give it a better name)
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/kvm/booke.c')
-rw-r--r-- | arch/powerpc/kvm/booke.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index 85b9e2fc6c6b..56d6ed69ed60 100644 --- a/arch/powerpc/kvm/booke.c +++ b/arch/powerpc/kvm/booke.c | |||
@@ -286,8 +286,6 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
286 | 286 | ||
287 | /* XXX move to a 440-specific file. */ | 287 | /* XXX move to a 440-specific file. */ |
288 | case BOOKE_INTERRUPT_DTLB_MISS: { | 288 | case BOOKE_INTERRUPT_DTLB_MISS: { |
289 | struct kvmppc_vcpu_44x *vcpu_44x = to_44x(vcpu); | ||
290 | struct kvmppc_44x_tlbe *gtlbe; | ||
291 | unsigned long eaddr = vcpu->arch.fault_dear; | 289 | unsigned long eaddr = vcpu->arch.fault_dear; |
292 | int gtlb_index; | 290 | int gtlb_index; |
293 | gpa_t gpaddr; | 291 | gpa_t gpaddr; |
@@ -305,8 +303,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
305 | break; | 303 | break; |
306 | } | 304 | } |
307 | 305 | ||
308 | gtlbe = &vcpu_44x->guest_tlb[gtlb_index]; | 306 | gpaddr = kvmppc_mmu_xlate(vcpu, gtlb_index, eaddr); |
309 | gpaddr = tlb_xlate(gtlbe, eaddr); | ||
310 | gfn = gpaddr >> PAGE_SHIFT; | 307 | gfn = gpaddr >> PAGE_SHIFT; |
311 | 308 | ||
312 | if (kvm_is_visible_gfn(vcpu->kvm, gfn)) { | 309 | if (kvm_is_visible_gfn(vcpu->kvm, gfn)) { |
@@ -332,8 +329,6 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
332 | 329 | ||
333 | /* XXX move to a 440-specific file. */ | 330 | /* XXX move to a 440-specific file. */ |
334 | case BOOKE_INTERRUPT_ITLB_MISS: { | 331 | case BOOKE_INTERRUPT_ITLB_MISS: { |
335 | struct kvmppc_vcpu_44x *vcpu_44x = to_44x(vcpu); | ||
336 | struct kvmppc_44x_tlbe *gtlbe; | ||
337 | unsigned long eaddr = vcpu->arch.pc; | 332 | unsigned long eaddr = vcpu->arch.pc; |
338 | gpa_t gpaddr; | 333 | gpa_t gpaddr; |
339 | gfn_t gfn; | 334 | gfn_t gfn; |
@@ -352,8 +347,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
352 | 347 | ||
353 | kvmppc_account_exit(vcpu, ITLB_VIRT_MISS_EXITS); | 348 | kvmppc_account_exit(vcpu, ITLB_VIRT_MISS_EXITS); |
354 | 349 | ||
355 | gtlbe = &vcpu_44x->guest_tlb[gtlb_index]; | 350 | gpaddr = kvmppc_mmu_xlate(vcpu, gtlb_index, eaddr); |
356 | gpaddr = tlb_xlate(gtlbe, eaddr); | ||
357 | gfn = gpaddr >> PAGE_SHIFT; | 351 | gfn = gpaddr >> PAGE_SHIFT; |
358 | 352 | ||
359 | if (kvm_is_visible_gfn(vcpu->kvm, gfn)) { | 353 | if (kvm_is_visible_gfn(vcpu->kvm, gfn)) { |