Lines Matching +full:29 +full:v
73 void HELPER(wsr_rasid)(CPUXtensaState *env, uint32_t v) in HELPER()
75 v = (v & 0xffffff00) | 0x1; in HELPER()
76 if (v != env->sregs[RASID]) { in HELPER()
77 env->sregs[RASID] = v; in HELPER()
172 static void split_tlb_entry_spec_way(const CPUXtensaState *env, uint32_t v, in split_tlb_entry_spec_way() argument
188 *ei = (v >> 12) & (is32 ? 0x7 : 0x3); in split_tlb_entry_spec_way()
194 *ei = (v >> eibase) & 0x3; in split_tlb_entry_spec_way()
201 *ei = (v >> eibase) & 0x3; in split_tlb_entry_spec_way()
203 *ei = (v >> 27) & 0x1; in split_tlb_entry_spec_way()
209 uint32_t eibase = 29 - get_page_size(env, dtlb, wi); in split_tlb_entry_spec_way()
210 *ei = (v >> eibase) & 0x7; in split_tlb_entry_spec_way()
212 *ei = (v >> 28) & 0x1; in split_tlb_entry_spec_way()
221 *vpn = v & xtensa_tlb_get_addr_mask(env, dtlb, wi); in split_tlb_entry_spec_way()
228 static bool split_tlb_entry_spec(CPUXtensaState *env, uint32_t v, bool dtlb, in split_tlb_entry_spec() argument
232 *wi = v & (dtlb ? 0xf : 0x7); in split_tlb_entry_spec()
234 split_tlb_entry_spec_way(env, v, dtlb, vpn, *wi, ei); in split_tlb_entry_spec()
240 *vpn = v & REGION_PAGE_MASK; in split_tlb_entry_spec()
242 *ei = (v >> 29) & 0x7; in split_tlb_entry_spec()
259 uint32_t v, bool dtlb, uint32_t *pwi) in get_tlb_entry() argument
265 if (split_tlb_entry_spec(env, v, dtlb, &vpn, &wi, &ei)) { in get_tlb_entry()
387 entry[6][ei].vaddr = ei << 29; in reset_tlb_mmu_ways56()
388 entry[6][ei].paddr = ei << 29; in reset_tlb_mmu_ways56()
401 entry[0][ei].vaddr = ei << 29; in reset_tlb_region_way0()
402 entry[0][ei].paddr = ei << 29; in reset_tlb_region_way0()
493 uint32_t HELPER(rtlb0)(CPUXtensaState *env, uint32_t v, uint32_t dtlb) in HELPER()
497 const xtensa_tlb_entry *entry = get_tlb_entry(env, v, dtlb, &wi); in HELPER()
505 return v & REGION_PAGE_MASK; in HELPER()
509 uint32_t HELPER(rtlb1)(CPUXtensaState *env, uint32_t v, uint32_t dtlb) in HELPER()
511 const xtensa_tlb_entry *entry = get_tlb_entry(env, v, dtlb, NULL); in HELPER()
520 void HELPER(itlb)(CPUXtensaState *env, uint32_t v, uint32_t dtlb) in HELPER()
524 xtensa_tlb_entry *entry = get_tlb_entry(env, v, dtlb, &wi); in HELPER()
532 uint32_t HELPER(ptlb)(CPUXtensaState *env, uint32_t v, uint32_t dtlb) in HELPER()
538 int res = xtensa_tlb_lookup(env, v, dtlb, &wi, &ei, &ring); in HELPER()
543 return (v & 0xfffff000) | wi | (dtlb ? 0x10 : 0x8); in HELPER()
549 HELPER(exception_cause_vaddr)(env, env->pc, res, v); in HELPER()
554 return (v & REGION_PAGE_MASK) | 0x1; in HELPER()
558 void HELPER(wtlb)(CPUXtensaState *env, uint32_t p, uint32_t v, uint32_t dtlb) in HELPER()
563 if (split_tlb_entry_spec(env, v, dtlb, &vpn, &wi, &ei)) { in HELPER()
909 uint32_t ei = (vaddr >> 29) & 0x7; in get_physical_addr_region()
946 void HELPER(wsr_mpuenb)(CPUXtensaState *env, uint32_t v) in HELPER()
948 v &= (2u << (env->config->n_mpu_fg_segments - 1)) - 1; in HELPER()
950 if (v != env->sregs[MPUENB]) { in HELPER()
951 env->sregs[MPUENB] = v; in HELPER()
956 void HELPER(wptlb)(CPUXtensaState *env, uint32_t p, uint32_t v) in HELPER()
961 env->mpu_fg[segment].vaddr = v & -env->config->mpu_align; in HELPER()
963 env->sregs[MPUENB] = deposit32(env->sregs[MPUENB], segment, 1, v); in HELPER()
991 uint32_t HELPER(pptlb)(CPUXtensaState *env, uint32_t v) in HELPER()
998 v, &segment); in HELPER()
1001 LOAD_STORE_TLB_MULTI_HIT_CAUSE, v); in HELPER()
1007 v, &bg_segment); in HELPER()