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 contents of indicated cache(s) for 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

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

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



BUGS

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


NOTE

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