cacheflush — flush contents of instruction and/or data cache
cacheflush() flushes the
contents of the indicated cache(s) for the user addresses in
cache may be one
Flush the instruction cache.
Write back to memory and invalidate the affected valid cache lines.
cacheflush() returns 0 on
success or −1 on error. If errors are detected,
errno will indicate the
Some or all of the address range
(addr+nbytes-1) is not
cache is not
BCACHE (but see BUGS).
Historically, this system call was available on all MIPS UNIX variants including RISC/os, IRIX, Ultrix, NetBSD, OpenBSD, and FreeBSD (and also on some non-UNIX MIPS operating systems), so that the existence of this call in MIPS operating systems is a de-facto standard.
Linux kernels older than version 2.6.11 ignore the
nbytes arguments, making this
function fairly expensive. Therefore, the whole cache is
This function always behaves as if
BCACHE has been passed for the
cache argument and does not do
any error checking on the
This page is part of release 4.07 of the Linux
man-pages project. A
description of the project, information about reporting bugs,
and the latest version of this page, can be found at
Written by Ralf Baechle (ralfwaldorf-gmbh.de),
Copyright (c) 1994, 1995 Waldorf GMBH
This is free documentation; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
The GNU General Public License's references to "object code"
and "executables" are to be interpreted as the output of any
document formatting or typesetting system, including
intermediate and printed output.
This manual is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this manual; if not, see