Difference between revisions of "Cacheflush Syscall"
From LinuxMIPS
(→SYNOPSIS) |
(→See also) |
||
| (3 intermediate revisions by one user not shown) | |||
| Line 1: | Line 1: | ||
| + | __NOTOC__ | ||
== NAME == | == NAME == | ||
'''cacheflush''' - flush contents of instruction and/or data cache | '''cacheflush''' - flush contents of instruction and/or data cache | ||
| Line 28: | Line 29: | ||
== NOTE == | == NOTE == | ||
This system call is only available on MIPS based systems. It should not be used in programs intended to be portable. | This system call is only available on MIPS based systems. It should not be used in programs intended to be portable. | ||
| + | |||
| + | == See also == | ||
| + | * [[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.