cacheflush(3)
Canonical URL: /cacheflush.3/
NAME
cacheflush,
_flush_cache —
CPU cache synchronization
functions
SYNOPSIS
#include
<machine/sysarch.h>
int
cacheflush(void
*addr, int nbytes,
int cache);
int
_flush_cache(char
*addr, int nbytes,
int cache);
DESCRIPTION
cacheflush()
allows a process to synchronize the contents of the processor caches with
main memory. Since MIPS processors have separate instruction and data
caches, this function allows for dynamically generated code to run
correctly.
cacheflush operates on a contiguous memory
range in the current process address space, starting at address
addr and nbytes bytes long. The
caches to be synchronized are specified in the cache
argument with one of the following values:
_flush_cache is an alias for the
cacheflush function.
RETURN VALUES
Upon successful completion, cacheflush
returns zero. Otherwise, a value of -1 is returned and
errno is set to indicate the error.
ERRORS
cacheflush will fail if:
Need conceptual guidance? Continue in the OpenBSD Handbook.