Lines Matching refs:esel
67 int esel = get_tlb_esel_bit(vcpu); in get_tlb_esel() local
70 esel &= vcpu_e500->gtlb_params[0].ways - 1; in get_tlb_esel()
71 esel += gtlb0_set_base(vcpu_e500, vcpu->arch.shared->mas2); in get_tlb_esel()
73 esel &= vcpu_e500->gtlb_params[tlbsel].entries - 1; in get_tlb_esel()
76 return esel; in get_tlb_esel()
212 int tlbsel, int esel) in kvmppc_e500_gtlbe_invalidate() argument
215 get_entry(vcpu_e500, tlbsel, esel); in kvmppc_e500_gtlbe_invalidate()
230 int esel; in kvmppc_e500_emul_mt_mmucsr0() local
233 for (esel = 0; esel < vcpu_e500->gtlb_params[0].entries; esel++) in kvmppc_e500_emul_mt_mmucsr0()
234 kvmppc_e500_gtlbe_invalidate(vcpu_e500, 0, esel); in kvmppc_e500_emul_mt_mmucsr0()
236 for (esel = 0; esel < vcpu_e500->gtlb_params[1].entries; esel++) in kvmppc_e500_emul_mt_mmucsr0()
237 kvmppc_e500_gtlbe_invalidate(vcpu_e500, 1, esel); in kvmppc_e500_emul_mt_mmucsr0()
249 int esel, tlbsel; in kvmppc_e500_emul_tlbivax() local
258 for (esel = 0; esel < vcpu_e500->gtlb_params[tlbsel].entries; in kvmppc_e500_emul_tlbivax()
259 esel++) in kvmppc_e500_emul_tlbivax()
260 kvmppc_e500_gtlbe_invalidate(vcpu_e500, tlbsel, esel); in kvmppc_e500_emul_tlbivax()
263 esel = kvmppc_e500_tlb_index(vcpu_e500, ea, tlbsel, in kvmppc_e500_emul_tlbivax()
265 if (esel >= 0) in kvmppc_e500_emul_tlbivax()
266 kvmppc_e500_gtlbe_invalidate(vcpu_e500, tlbsel, esel); in kvmppc_e500_emul_tlbivax()
279 int tid, esel; in tlbilx_all() local
282 for (esel = 0; esel < vcpu_e500->gtlb_params[tlbsel].entries; esel++) { in tlbilx_all()
283 tlbe = get_entry(vcpu_e500, tlbsel, esel); in tlbilx_all()
286 inval_gtlbe_on_host(vcpu_e500, tlbsel, esel); in tlbilx_all()
287 kvmppc_e500_gtlbe_invalidate(vcpu_e500, tlbsel, esel); in tlbilx_all()
295 int tlbsel, esel; in tlbilx_one() local
298 esel = kvmppc_e500_tlb_index(vcpu_e500, ea, tlbsel, pid, -1); in tlbilx_one()
299 if (esel >= 0) { in tlbilx_one()
300 inval_gtlbe_on_host(vcpu_e500, tlbsel, esel); in tlbilx_one()
301 kvmppc_e500_gtlbe_invalidate(vcpu_e500, tlbsel, esel); in tlbilx_one()
325 int tlbsel, esel; in kvmppc_e500_emul_tlbre() local
329 esel = get_tlb_esel(vcpu, tlbsel); in kvmppc_e500_emul_tlbre()
331 gtlbe = get_entry(vcpu_e500, tlbsel, esel); in kvmppc_e500_emul_tlbre()
346 int esel, tlbsel; in kvmppc_e500_emul_tlbsx() local
350 esel = kvmppc_e500_tlb_index(vcpu_e500, ea, tlbsel, pid, as); in kvmppc_e500_emul_tlbsx()
351 if (esel >= 0) { in kvmppc_e500_emul_tlbsx()
352 gtlbe = get_entry(vcpu_e500, tlbsel, esel); in kvmppc_e500_emul_tlbsx()
358 esel &= vcpu_e500->gtlb_params[tlbsel].ways - 1; in kvmppc_e500_emul_tlbsx()
360 vcpu->arch.shared->mas0 = MAS0_TLBSEL(tlbsel) | MAS0_ESEL(esel) in kvmppc_e500_emul_tlbsx()
394 int tlbsel, esel; in kvmppc_e500_emul_tlbwe() local
399 esel = get_tlb_esel(vcpu, tlbsel); in kvmppc_e500_emul_tlbwe()
401 gtlbe = get_entry(vcpu_e500, tlbsel, esel); in kvmppc_e500_emul_tlbwe()
404 inval_gtlbe_on_host(vcpu_e500, tlbsel, esel); in kvmppc_e500_emul_tlbwe()
444 kvmppc_mmu_map(vcpu, eaddr, raddr, index_of(tlbsel, esel)); in kvmppc_e500_emul_tlbwe()
457 int esel, tlbsel; in kvmppc_e500_tlb_search() local
460 esel = kvmppc_e500_tlb_index(vcpu_e500, eaddr, tlbsel, pid, as); in kvmppc_e500_tlb_search()
461 if (esel >= 0) in kvmppc_e500_tlb_search()
462 return index_of(tlbsel, esel); in kvmppc_e500_tlb_search()