LCOV - code coverage report
Current view: top level - include/asm-generic - cacheflush.h (source / functions) Hit Total Coverage
Test: landlock.info Lines: 20 22 90.9 %
Date: 2021-04-22 12:43:58 Functions: 0 0 -

          Line data    Source code
       1             : /* SPDX-License-Identifier: GPL-2.0 */
       2             : #ifndef _ASM_GENERIC_CACHEFLUSH_H
       3             : #define _ASM_GENERIC_CACHEFLUSH_H
       4             : 
       5             : struct mm_struct;
       6             : struct vm_area_struct;
       7             : struct page;
       8             : struct address_space;
       9             : 
      10             : /*
      11             :  * The cache doesn't need to be flushed when TLB entries change when
      12             :  * the cache is mapped to physical memory, not virtual memory
      13             :  */
      14             : #ifndef flush_cache_all
      15             : static inline void flush_cache_all(void)
      16             : {
      17             : }
      18             : #endif
      19             : 
      20             : #ifndef flush_cache_mm
      21        3728 : static inline void flush_cache_mm(struct mm_struct *mm)
      22             : {
      23        3728 : }
      24             : #endif
      25             : 
      26             : #ifndef flush_cache_dup_mm
      27         858 : static inline void flush_cache_dup_mm(struct mm_struct *mm)
      28             : {
      29         858 : }
      30             : #endif
      31             : 
      32             : #ifndef flush_cache_range
      33        8921 : static inline void flush_cache_range(struct vm_area_struct *vma,
      34             :                                      unsigned long start,
      35             :                                      unsigned long end)
      36             : {
      37        8921 : }
      38             : #endif
      39             : 
      40             : #ifndef flush_cache_page
      41       55977 : static inline void flush_cache_page(struct vm_area_struct *vma,
      42             :                                     unsigned long vmaddr,
      43             :                                     unsigned long pfn)
      44             : {
      45       55977 : }
      46             : #endif
      47             : 
      48             : #ifndef ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
      49       10648 : static inline void flush_dcache_page(struct page *page)
      50             : {
      51       10648 : }
      52             : #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
      53             : #endif
      54             : 
      55             : 
      56             : #ifndef flush_dcache_mmap_lock
      57      205559 : static inline void flush_dcache_mmap_lock(struct address_space *mapping)
      58             : {
      59      205559 : }
      60             : #endif
      61             : 
      62             : #ifndef flush_dcache_mmap_unlock
      63       84798 : static inline void flush_dcache_mmap_unlock(struct address_space *mapping)
      64             : {
      65       64275 : }
      66             : #endif
      67             : 
      68             : #ifndef flush_icache_range
      69             : static inline void flush_icache_range(unsigned long start, unsigned long end)
      70             : {
      71             : }
      72             : #endif
      73             : 
      74             : #ifndef flush_icache_user_range
      75             : #define flush_icache_user_range flush_icache_range
      76             : #endif
      77             : 
      78             : #ifndef flush_icache_page
      79      794210 : static inline void flush_icache_page(struct vm_area_struct *vma,
      80             :                                      struct page *page)
      81             : {
      82      794210 : }
      83             : #endif
      84             : 
      85             : #ifndef flush_icache_user_page
      86           0 : static inline void flush_icache_user_page(struct vm_area_struct *vma,
      87             :                                            struct page *page,
      88             :                                            unsigned long addr, int len)
      89             : {
      90           0 : }
      91             : #endif
      92             : 
      93             : #ifndef flush_cache_vmap
      94       10628 : static inline void flush_cache_vmap(unsigned long start, unsigned long end)
      95             : {
      96       10628 : }
      97             : #endif
      98             : 
      99             : #ifndef flush_cache_vunmap
     100       10585 : static inline void flush_cache_vunmap(unsigned long start, unsigned long end)
     101             : {
     102       10585 : }
     103             : #endif
     104             : 
     105             : #ifndef copy_to_user_page
     106             : #define copy_to_user_page(vma, page, vaddr, dst, src, len)      \
     107             :         do { \
     108             :                 memcpy(dst, src, len); \
     109             :                 flush_icache_user_page(vma, page, vaddr, len); \
     110             :         } while (0)
     111             : #endif
     112             : 
     113             : #ifndef copy_from_user_page
     114             : #define copy_from_user_page(vma, page, vaddr, dst, src, len) \
     115             :         memcpy(dst, src, len)
     116             : #endif
     117             : 
     118             : #endif /* _ASM_GENERIC_CACHEFLUSH_H */

Generated by: LCOV version 1.14