cacheflush(2) - Linux man page
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 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
- EFAULT
- Some or all of the address range addr to (addr+nbytes-1) is not accessible.
- EINVAL
- cache parameter is not one of ICACHE, DCACHE, or BCACHE.
Bugs
The current implementation ignores the
addr and
nbytes arguments. Therefore, the whole cache is
always flushed.
Note
This system call is only available on MIPS based systems. It should not be used in programs intended to be
portable.
Referenced By
syscalls(2)