Man Linux: Main Page and Category List

NAME

       cacheflush - flush contents of instruction and/or data cache

SYNOPSIS

       #include <asm/cachectl.h>

       int cacheflush(char *addr, int nbytes, int cache);

DESCRIPTION

       cacheflush()  flushes  the  contents  of the indicated cache(s) for the
       user addresses in the range addr to (addr+nbytes-1).  cache may be  one
       of:

       ICACHE Flush the instruction cache.

       DCACHE Write  back  to  memory  and invalidate the affected valid cache
              lines.

       BCACHE Same as (ICACHE|DCACHE).

RETURN VALUE

       cacheflush() returns 0 on success  or  -1  on  error.   If  errors  are
       detected, errno will indicate the error.

ERRORS

       EFAULT Some  or all of the address range addr to (addr+nbytes-1) is not
              accessible.

       EINVAL cache is not one of ICACHE, DCACHE, or BCACHE.

CONFORMING TO

       This Linux-specific  system  call  is  only  available  on  MIPS  based
       systems.  It should not be used in programs intended to be portable.

BUGS

       The  current  implementation  ignores  the  addr  and nbytes arguments.
       Therefore, the whole cache is always flushed.

COLOPHON

       This page is part of release 3.24 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.