Developer's Daily | Unix by Example |
main | java | perl | unix | dev directory | web log |
cacheflush ? flush contents of instruction and/or data cache |
#include <asm/cachectl.h> int cacheflush(char *addr, int nbytes, int cache); |
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). |
cacheflush returns 0 on success or -1 on error. If errors are detected, errno will indicate the error. |
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. |
The current implementation ignores the addr and nbytes parameters. Therefore always the whole cache is flushed. |
This system call is only available on MIPS based systems. It should not be used in programs intended to be portable. |