Difference between revisions of "Cacheflush Syscall"

From LinuxMIPS
Jump to: navigation, search
(Link to cachectl(2) syscall)
(See also)
 
(One intermediate revision by one user not shown)
Line 32: Line 32:
 
== See also ==
 
== See also ==
 
* [[Cachectl Syscall]]
 
* [[Cachectl Syscall]]
 +
* [[syscall]]

Latest revision as of 08:07, 11 September 2012

[edit] NAME

cacheflush - flush contents of instruction and/or data cache

[edit] SYNOPSIS

       #include <asm/cachectl.h>

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

[edit] 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).

[edit] RETURN VALUE

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

[edit] 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.

[edit] BUGS

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

[edit] NOTE

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

[edit] See also

Personal tools