Lines Matching defs:vaddr

35 void (*_cache_line_loop_ic_fn)(phys_addr_t paddr, unsigned long vaddr,
174 * Programming model requires both paddr and vaddr irrespecive of aliasing
176 * - vaddr in {I,D}C_IV?L
189 void __cache_line_loop_v3(phys_addr_t paddr, unsigned long vaddr,
212 vaddr &= CACHE_LINE_MASK;
239 write_aux_reg(aux_cmd, vaddr);
240 vaddr += L1_CACHE_BYTES;
249 void __cache_line_loop_v4(phys_addr_t paddr, unsigned long vaddr,
303 void __cache_line_loop_v4(phys_addr_t paddr, unsigned long vaddr,
461 static inline void __dc_line_op(phys_addr_t paddr, unsigned long vaddr,
471 __cache_line_loop(paddr, vaddr, sz, op, full_page);
483 #define __dc_line_op(paddr, vaddr, sz, op)
497 __ic_line_inv_vaddr_local(phys_addr_t paddr, unsigned long vaddr,
504 (*_cache_line_loop_ic_fn)(paddr, vaddr, sz, OP_INV_IC, full_page);
515 phys_addr_t paddr, vaddr;
523 __ic_line_inv_vaddr_local(ic_inv->paddr, ic_inv->vaddr, ic_inv->sz);
526 static void __ic_line_inv_vaddr(phys_addr_t paddr, unsigned long vaddr,
531 .vaddr = vaddr,
741 unsigned long vaddr = folio_pos(folio);
744 * vaddr is not actually the virtual address, but is
747 if (addr_not_cache_congruent(paddr, vaddr))
748 __flush_dcache_pages(paddr, vaddr,
833 WARN(kstart < TASK_SIZE, "%s() can't handle user vaddr", __func__);
859 * handling of kernel vaddr.
883 * @vaddr is typically user vaddr (breakpoint) or kernel vaddr (vmalloc)
885 * builtin kernel code) @vaddr will be paddr only, meaning CDU operation will
888 * kprobe on loadable module will be kernel vaddr.
890 void __sync_icache_dcache(phys_addr_t paddr, unsigned long vaddr, int len)
892 __dc_line_op(paddr, vaddr, len, OP_FLUSH_N_INV);
893 __ic_line_inv_vaddr(paddr, vaddr, len);
897 void __inv_icache_pages(phys_addr_t paddr, unsigned long vaddr, unsigned nr)
899 __ic_line_inv_vaddr(paddr, vaddr, nr * PAGE_SIZE);
904 * For kernel mappings @vaddr == @paddr
906 void __flush_dcache_pages(phys_addr_t paddr, unsigned long vaddr, unsigned nr)
908 __dc_line_op(paddr, vaddr & PAGE_MASK, nr * PAGE_SIZE, OP_FLUSH_N_INV);
976 * Note that while @u_vaddr refers to DST page's userspace vaddr, it is
992 * here as well (given that both vaddr/paddr are available).
1124 * pair to provide vaddr/paddr respectively, just as in MMU v3