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 or
.BR BCACHE . .BR BCACHE .
.SH CONFORMING TO .SH CONFORMING TO
This Linux-specific system call is available only on MIPS-based systems. Historically, this system calls was available on all MIPS UNIX variants
.\" FIXME The cacheflush() system call was only on MIPS back in 1.2 days, including RISC/os, IRIX, Ultrix, NetBSD, OpenBSD, and FreeBSD
.\" but by now it is on a number of other architectures (but not i386). (and also on some non-UNIX MIPS operating systems), so that
.\" Investigate the details and update this page. the existence of this call in MIPS operating systems is a de-facto
It should not be used in programs intended to be portable. standard.
.\" Irix 6.5 appears to have a cacheflush() syscall -- mtk .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 .SH BUGS
The current implementation ignores the Linux kernels older than version 2.6.11 ignore the
.I addr .I addr
and and
.I nbytes .I nbytes
arguments. arguments, making this function fairly expensive.
Therefore, the whole cache is always flushed. 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.