root/arch/csky/mm/syscache.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. SYSCALL_DEFINE3

   1 // SPDX-License-Identifier: GPL-2.0
   2 // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
   3 
   4 #include <linux/syscalls.h>
   5 #include <asm/page.h>
   6 #include <asm/cache.h>
   7 #include <asm/cachectl.h>
   8 
   9 SYSCALL_DEFINE3(cacheflush,
  10                 void __user *, addr,
  11                 unsigned long, bytes,
  12                 int, cache)
  13 {
  14         switch (cache) {
  15         case ICACHE:
  16                 icache_inv_range((unsigned long)addr,
  17                                  (unsigned long)addr + bytes);
  18                 break;
  19         case DCACHE:
  20                 dcache_wb_range((unsigned long)addr,
  21                                 (unsigned long)addr + bytes);
  22                 break;
  23         case BCACHE:
  24                 cache_wbinv_range((unsigned long)addr,
  25                                   (unsigned long)addr + bytes);
  26                 break;
  27         default:
  28                 return -EINVAL;
  29         }
  30 
  31         return 0;
  32 }

/* [<][>][^][v][top][bottom][index][help] */