linux/include/asm-generic/cacheflush.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __ASM_CACHEFLUSH_H
   3#define __ASM_CACHEFLUSH_H
   4
   5/* Keep includes the same across arches.  */
   6#include <linux/mm.h>
   7
   8/*
   9 * The cache doesn't need to be flushed when TLB entries change when
  10 * the cache is mapped to physical memory, not virtual memory
  11 */
  12#define flush_cache_all()                       do { } while (0)
  13#define flush_cache_mm(mm)                      do { } while (0)
  14#define flush_cache_dup_mm(mm)                  do { } while (0)
  15#define flush_cache_range(vma, start, end)      do { } while (0)
  16#define flush_cache_page(vma, vmaddr, pfn)      do { } while (0)
  17#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
  18#define flush_dcache_page(page)                 do { } while (0)
  19#define flush_dcache_mmap_lock(mapping)         do { } while (0)
  20#define flush_dcache_mmap_unlock(mapping)       do { } while (0)
  21#define flush_icache_range(start, end)          do { } while (0)
  22#define flush_icache_page(vma,pg)               do { } while (0)
  23#define flush_icache_user_range(vma,pg,adr,len) do { } while (0)
  24#define flush_cache_vmap(start, end)            do { } while (0)
  25#define flush_cache_vunmap(start, end)          do { } while (0)
  26
  27#define copy_to_user_page(vma, page, vaddr, dst, src, len) \
  28        do { \
  29                memcpy(dst, src, len); \
  30                flush_icache_user_range(vma, page, vaddr, len); \
  31        } while (0)
  32#define copy_from_user_page(vma, page, vaddr, dst, src, len) \
  33        memcpy(dst, src, len)
  34
  35#endif /* __ASM_CACHEFLUSH_H */
  36