Lines Matching full:tlb
2 * PowerPC MMU, TLB, SLB and BAT emulation helpers for QEMU.
74 /* Select TLB num in a way from address */ in ppc6xx_tlb_getnum()
76 /* Select TLB way */ in ppc6xx_tlb_getnum()
86 /* Software driven TLB helpers */
92 ppc6xx_tlb_t *tlb; in ppc6xx_tlb_check() local
100 ret = -1; /* No TLB found */ in ppc6xx_tlb_check()
103 tlb = &env->tlb.tlb6[nr]; in ppc6xx_tlb_check()
105 if ((eaddr & TARGET_PAGE_MASK) != tlb->EPN) { in ppc6xx_tlb_check()
106 qemu_log_mask(CPU_LOG_MMU, "TLB %d/%d %s [" TARGET_FMT_lx in ppc6xx_tlb_check()
109 pte_is_valid(tlb->pte0) ? "valid" : "inval", in ppc6xx_tlb_check()
110 tlb->EPN, tlb->EPN + TARGET_PAGE_SIZE, eaddr); in ppc6xx_tlb_check()
113 qemu_log_mask(CPU_LOG_MMU, "TLB %d/%d %s " TARGET_FMT_lx " <> " in ppc6xx_tlb_check()
116 pte_is_valid(tlb->pte0) ? "valid" : "inval", in ppc6xx_tlb_check()
117 tlb->EPN, eaddr, tlb->pte1, in ppc6xx_tlb_check()
121 if (!pte_is_valid(tlb->pte0) || ((tlb->pte0 >> 6) & 1) != 0 || in ppc6xx_tlb_check()
122 (tlb->pte0 & PTE_PTEM_MASK) != ptem) { in ppc6xx_tlb_check()
127 (*raddr & PTE_CHECK_MASK) != (tlb->pte1 & PTE_CHECK_MASK)) { in ppc6xx_tlb_check()
129 /* TLB inconsistency */ in ppc6xx_tlb_check()
134 *raddr = tlb->pte1; in ppc6xx_tlb_check()
135 *prot = ppc_hash32_prot(key, tlb->pte1 & HPTE32_R_PP, nx); in ppc6xx_tlb_check()
146 qemu_log_mask(CPU_LOG_MMU, "found TLB at addr " HWADDR_FMT_plx in ppc6xx_tlb_check()
150 pte1p = &env->tlb.tlb6[best].pte1; in ppc6xx_tlb_check()
311 /* Software TLB search */ in mmu6xx_get_physical_address()
359 qemu_printf("Cannot access KVM TLB\n"); in mmubooke_dump_mmu()
368 entry = &env->tlb.tlbe[0]; in mmubooke_dump_mmu()
407 entry = &env->tlb.tlbm[offset]; in mmubooke206_dump_one_tlb()
452 qemu_printf("Cannot access KVM TLB\n"); in mmubooke206_dump_mmu()
503 ppc6xx_tlb_t *tlb; in mmu6xx_dump_mmu() local
538 tlb = &env->tlb.tlb6[entry]; in mmu6xx_dump_mmu()
539 qemu_printf("%s TLB %02d/%02d way:%d %s [" in mmu6xx_dump_mmu()
543 pte_is_valid(tlb->pte0) ? "valid" : "inval", in mmu6xx_dump_mmu()
544 tlb->EPN, tlb->EPN + TARGET_PAGE_SIZE); in mmu6xx_dump_mmu()
627 /* No matches in page tables or TLB */ in ppc_40x_xlate()
644 /* No matches in page tables or TLB */ in ppc_40x_xlate()
708 /* No matches in page tables or TLB */ in ppc_6xx_xlate()
734 /* No matches in page tables or TLB */ in ppc_6xx_xlate()