cacheflush.2: Update some portability details and bugs

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Ralf Baechle 2015-02-05 13:02:56 +01:00 committed by Michael Kerrisk
parent b22b377bd4
commit 7bbc267ac3
1 changed files with 22 additions and 8 deletions

View File

@ -73,16 +73,30 @@ is not one of
or
.BR BCACHE .
.SH CONFORMING TO
This Linux-specific system call is available only on MIPS-based systems.
.\" FIXME The cacheflush() system call was only on MIPS back in 1.2 days,
.\" but by now it is on a number of other architectures (but not i386).
.\" Investigate the details and update this page.
It should not be used in programs intended to be portable.
.\" Irix 6.5 appears to have a cacheflush() syscall -- mtk
Historically, this system calls 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.
.SS Caveat
.BR cacheflush ()
should not be used in programs intended to be portable.
On Linux, this call first appeared on the MIPS archititecture,
but nowadays, Linux provides a
.BR cacheflush ()
system call on some other architectures, but with different arguments.
.SH BUGS
The current implementation ignores the
Linux kernels older than version 2.6.11 ignore the
.I addr
and
.I nbytes
arguments.
arguments, making this function fairly expensive.
Therefore, the whole cache is always flushed.
This function is always behaving as if
.BR BCACHE
has been passed for the
.I cache
argument and does not do any error checking on the
.I cache
argument.