Home
last modified time | relevance | path

Searched refs:tlb (Results 1 – 25 of 111) sorted by relevance

12345

/openbmc/qemu/target/ppc/
H A Dmmu_helper.c49 ppc6xx_tlb_t *tlb; in ppc6xx_tlb_invalidate_all() local
53 tlb = &env->tlb.tlb6[nr]; in ppc6xx_tlb_invalidate_all()
54 pte_invalidate(&tlb->pte0); in ppc6xx_tlb_invalidate_all()
65 ppc6xx_tlb_t *tlb; in ppc6xx_tlb_invalidate_virt2() local
71 tlb = &env->tlb.tlb6[nr]; in ppc6xx_tlb_invalidate_virt2()
72 if (pte_is_valid(tlb->pte0) && (match_epn == 0 || eaddr == tlb->EPN)) { in ppc6xx_tlb_invalidate_virt2()
75 pte_invalidate(&tlb->pte0); in ppc6xx_tlb_invalidate_virt2()
76 tlb_flush_page(cs, tlb->EPN); in ppc6xx_tlb_invalidate_virt2()
94 ppc6xx_tlb_t *tlb; in ppc6xx_tlb_store() local
98 tlb = &env->tlb.tlb6[nr]; in ppc6xx_tlb_store()
[all …]
H A Dmmu-booke.c28 static bool ppcemb_tlb_check(CPUPPCState *env, ppcemb_tlb_t *tlb, in ppcemb_tlb_check() argument
35 if (!(tlb->prot & PAGE_VALID)) { in ppcemb_tlb_check()
38 mask = ~(tlb->size - 1); in ppcemb_tlb_check()
41 __func__, i, address, pid, tlb->EPN, in ppcemb_tlb_check()
42 mask, (uint32_t)tlb->PID, tlb->prot); in ppcemb_tlb_check()
44 if (tlb->PID != 0 && tlb->PID != pid) { in ppcemb_tlb_check()
48 if ((address & mask) != tlb->EPN) { in ppcemb_tlb_check()
51 *raddrp = (tlb->RPN & mask) | (address & ~mask); in ppcemb_tlb_check()
58 ppcemb_tlb_t *tlb; in ppcemb_tlb_search() local
63 tlb = &env->tlb.tlbe[i]; in ppcemb_tlb_search()
[all …]
H A Dmmu_common.c92 ppc6xx_tlb_t *tlb; in ppc6xx_tlb_check() local
103 tlb = &env->tlb.tlb6[nr]; in ppc6xx_tlb_check()
105 if ((eaddr & TARGET_PAGE_MASK) != tlb->EPN) { 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()
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()
[all …]
H A Dmmu-booke.h10 hwaddr booke206_tlb_to_page_size(CPUPPCState *env, ppcmas_tlb_t *tlb);
11 int ppcmas_tlb_check(CPUPPCState *env, ppcmas_tlb_t *tlb, hwaddr *raddrp,
/openbmc/qemu/target/mips/tcg/system/
H A Dtlb_helper.c35 while (env->tlb->tlb_in_use > first) { in r4k_mips_tlb_flush_extra()
36 r4k_invalidate_tlb(env, --env->tlb->tlb_in_use, 0); in r4k_mips_tlb_flush_extra()
52 r4k_tlb_t *tlb; in r4k_fill_tlb() local
56 tlb = &env->tlb->mmu.r4k.tlb[idx]; in r4k_fill_tlb()
58 tlb->EHINV = 1; in r4k_fill_tlb()
61 tlb->EHINV = 0; in r4k_fill_tlb()
62 tlb->VPN = env->CP0_EntryHi & (TARGET_PAGE_MASK << 1); in r4k_fill_tlb()
64 tlb->VPN &= env->SEGMask; in r4k_fill_tlb()
66 tlb->ASID = env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask; in r4k_fill_tlb()
67 tlb->MMID = env->CP0_MemoryMapID; in r4k_fill_tlb()
[all …]
/openbmc/qemu/target/loongarch/tcg/
H A Dtlb_helper.c102 LoongArchTLB *tlb = &env->tlb[index]; in invalidate_tlb_entry() local
105 uint8_t tlb_v0 = FIELD_EX64(tlb->tlb_entry0, TLBENTRY, V); in invalidate_tlb_entry()
106 uint8_t tlb_v1 = FIELD_EX64(tlb->tlb_entry1, TLBENTRY, V); in invalidate_tlb_entry()
107 uint64_t tlb_vppn = FIELD_EX64(tlb->tlb_misc, TLB_MISC, VPPN); in invalidate_tlb_entry()
108 uint8_t tlb_e = FIELD_EX64(tlb->tlb_misc, TLB_MISC, E); in invalidate_tlb_entry()
114 tlb_ps = FIELD_EX64(tlb->tlb_misc, TLB_MISC, PS); in invalidate_tlb_entry()
136 LoongArchTLB *tlb; in invalidate_tlb() local
140 tlb = &env->tlb[index]; in invalidate_tlb()
141 tlb_asid = FIELD_EX64(tlb->tlb_misc, TLB_MISC, ASID); in invalidate_tlb()
142 tlb_g = FIELD_EX64(tlb->tlb_entry0, TLBENTRY, G); in invalidate_tlb()
[all …]
/openbmc/qemu/target/sh4/
H A Dmonitor.c30 static void print_tlb(Monitor *mon, int idx, tlb_t *tlb) in print_tlb() argument
37 tlb->asid, tlb->vpn, tlb->ppn, tlb->sz, tlb->size, in print_tlb()
38 tlb->v, tlb->sh, tlb->c, tlb->pr, in print_tlb()
39 tlb->d, tlb->wt); in print_tlb()
/openbmc/qemu/qga/vss-win32/
H A Dmeson.build27 gen_tlb = custom_target('gen-tlb',
29 output: 'qga-vss.tlb',
30 command: [midl, '@INPUT@', '/tlb', '@OUTPUT@'])
32 gen_tlb = custom_target('gen-tlb',
34 output: 'qga-vss.tlb',
/openbmc/qemu/target/openrisc/
H A Dsys_helper.c103 mr = env->tlb.dtlb[idx].mr; in HELPER()
110 env->tlb.dtlb[idx].mr = rb; in HELPER()
114 env->tlb.dtlb[idx].tr = rb; in HELPER()
126 mr = env->tlb.itlb[idx].mr; in HELPER()
133 env->tlb.itlb[idx].mr = rb; in HELPER()
137 env->tlb.itlb[idx].tr = rb; in HELPER()
301 return env->tlb.dtlb[idx].mr; in HELPER()
305 return env->tlb.dtlb[idx].tr; in HELPER()
317 return env->tlb.itlb[idx].mr; in HELPER()
321 return env->tlb.itlb[idx].tr; in HELPER()
H A Dmmu.c42 uint32_t imr = cpu->env.tlb.itlb[idx].mr; in get_phys_mmu()
43 uint32_t itr = cpu->env.tlb.itlb[idx].tr; in get_phys_mmu()
44 uint32_t dmr = cpu->env.tlb.dtlb[idx].mr; in get_phys_mmu()
45 uint32_t dtr = cpu->env.tlb.dtlb[idx].tr; in get_phys_mmu()
/openbmc/u-boot/arch/powerpc/cpu/mpc85xx/
H A Dtlb.c20 void invalidate_tlb(u8 tlb) in invalidate_tlb() argument
22 if (tlb == 0) in invalidate_tlb()
24 if (tlb == 1) in invalidate_tlb()
136 void set_tlb(u8 tlb, u32 epn, u64 rpn, in set_tlb() argument
142 if (tlb == 1) in set_tlb()
148 __func__, tsize, tlb, epn); in set_tlb()
152 _mas0 = FSL_BOOKE_MAS0(tlb, esel, 0); in set_tlb()
161 if ((tlb == 1) && (gd->flags & GD_FLG_RELOC)) in set_tlb()
/openbmc/qemu/target/hppa/
H A Dmachine.c115 memset(env->tlb, 0, sizeof(env->tlb)); in tlb_pre_load()
135 for (uint32_t i = 0; i < ARRAY_SIZE(env->tlb); ++i) { in tlb_post_load()
136 HPPATLBEntry *e = &env->tlb[i]; in tlb_post_load()
156 VMSTATE_ARRAY(tlb, CPUHPPAState,
157 ARRAY_SIZE(((CPUHPPAState *)0)->tlb),
H A Dmem_helper.c107 is_btlb = ent < &env->tlb[HPPA_BTLB_ENTRIES(env)]; in hppa_flush_tlb_ent()
146 if (i < btlb_entries || i >= ARRAY_SIZE(env->tlb)) { in hppa_alloc_tlb_ent()
151 ent = &env->tlb[i]; in hppa_alloc_tlb_ent()
649 memset(&env->tlb[btlb_entries], 0, in hppa_ptlbe()
650 sizeof(env->tlb) - btlb_entries * sizeof(env->tlb[0])); in hppa_ptlbe()
655 env->tlb_unused = &env->tlb[btlb_entries]; in hppa_ptlbe()
656 for (i = btlb_entries; i < ARRAY_SIZE(env->tlb) - 1; ++i) { in hppa_ptlbe()
657 env->tlb[i].unused_next = &env->tlb[i + 1]; in hppa_ptlbe()
663 if (env->tlb[i].entry_valid) { in hppa_ptlbe()
664 interval_tree_insert(&env->tlb[i].itree, &env->tlb_root); in hppa_ptlbe()
[all …]
/openbmc/qemu/accel/tcg/
H A Dcputlb.c132 uintptr_t size_mask = cpu->neg.tlb.f[mmu_idx].mask >> CPU_TLB_ENTRY_BITS; in tlb_index()
141 return &cpu->neg.tlb.f[mmu_idx].table[tlb_index(cpu, mmu_idx, addr)]; in tlb_entry()
294 CPUTLBDesc *desc = &cpu->neg.tlb.d[mmu_idx]; in tlb_flush_one_mmuidx_locked()
295 CPUTLBDescFast *fast = &cpu->neg.tlb.f[mmu_idx]; in tlb_flush_one_mmuidx_locked()
315 cpu->neg.tlb.d[mmu_idx].n_used_entries++; in tlb_n_used_entries_inc()
320 cpu->neg.tlb.d[mmu_idx].n_used_entries--; in tlb_n_used_entries_dec()
328 qemu_spin_init(&cpu->neg.tlb.c.lock); in tlb_init()
331 cpu->neg.tlb.c.dirty = 0; in tlb_init()
334 tlb_mmu_init(&cpu->neg.tlb.d[i], &cpu->neg.tlb.f[i], now); in tlb_init()
342 qemu_spin_destroy(&cpu->neg.tlb.c.lock); in tlb_destroy()
[all …]
/openbmc/u-boot/doc/device-tree-bindings/cpu/
H A Dnios2.txt44 altr,tlb-num-ways = <16>;
45 altr,tlb-num-entries = <128>;
46 altr,tlb-ptr-sz = <7>;
50 altr,fast-tlb-miss-addr = <0xc7fff400>;
/openbmc/qemu/target/sparc/
H A Dldst_helper.c127 static void replace_tlb_entry(SparcTLBEntry *tlb, in replace_tlb_entry() argument
134 if (TTE_IS_VALID(tlb->tte)) { in replace_tlb_entry()
137 size = 8192ULL << 3 * TTE_PGSIZE(tlb->tte); in replace_tlb_entry()
140 va = tlb->tag & mask; in replace_tlb_entry()
147 tlb->tag = tlb_tag; in replace_tlb_entry()
148 tlb->tte = tlb_tte; in replace_tlb_entry()
151 static void demap_tlb(SparcTLBEntry *tlb, target_ulong demap_addr, in demap_tlb() argument
177 if (TTE_IS_VALID(tlb[i].tte)) { in demap_tlb()
181 if (TTE_IS_GLOBAL(tlb[i].tte) || in demap_tlb()
182 !tlb_compare_context(&tlb[i], context)) { in demap_tlb()
[all …]
/openbmc/u-boot/board/Arcturus/ucp1020/
H A DMakefile18 obj-y += spl_minimal.o tlb.o law.o
28 obj-y += tlb.o
/openbmc/qemu/hw/ppc/
H A Dppc_booke.c35 void booke_set_tlb(ppcemb_tlb_t *tlb, target_ulong va, hwaddr pa, in booke_set_tlb() argument
38 tlb->attr = 0; in booke_set_tlb()
39 tlb->prot = PAGE_RWX << 4 | PAGE_VALID; in booke_set_tlb()
40 tlb->size = size; in booke_set_tlb()
41 tlb->EPN = va & TARGET_PAGE_MASK; in booke_set_tlb()
42 tlb->RPN = pa & TARGET_PAGE_MASK; in booke_set_tlb()
43 tlb->PID = 0; in booke_set_tlb()
H A Dppce500_spin.c79 ppcmas_tlb_t *tlb = booke206_get_tlbm(env, 1, 0, 1); in spin_kick() local
94 booke206_set_tlb(tlb, 0, map_start, map_size); in spin_kick()
95 tlb->mas2 |= MAS2_M; in spin_kick()
/openbmc/qemu/target/mips/system/
H A Dphysaddr.c91 return env->tlb->map_address(env, physical, prot, real_address, in get_seg_physical_address()
148 ret = env->tlb->map_address(env, physical, prot, in get_physical_address()
157 ret = env->tlb->map_address(env, physical, prot, in get_physical_address()
198 ret = env->tlb->map_address(env, physical, prot, in get_physical_address()
/openbmc/u-boot/arch/nios2/dts/
H A D3c120_devboard.dts33 altr,tlb-num-ways = <16>;
34 altr,tlb-num-entries = <128>;
35 altr,tlb-ptr-sz = <7>;
39 altr,fast-tlb-miss-addr = <0xc7fff400>;
/openbmc/u-boot/board/freescale/common/p_corenet/
H A DMakefile8 obj-y += tlb.o
/openbmc/u-boot/board/freescale/p1023rdb/
H A DMakefile8 obj-y += tlb.o
/openbmc/u-boot/board/xes/xpedite537x/
H A DMakefile11 obj-y += tlb.o
/openbmc/u-boot/board/freescale/mpc8536ds/
H A DMakefile10 obj-y += tlb.o

12345