cacheflush.2: Document __builtin___clear_cache() as a more portable alternative

Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Cc: Martin Sebor <msebor@redhat.com>
Cc: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Alejandro Colomar 2020-12-15 14:30:20 +01:00 committed by Michael Kerrisk
parent ce0efb4382
commit d7e7ab0e34
1 changed files with 24 additions and 0 deletions

View File

@ -86,6 +86,30 @@ On Linux, this call first appeared on the MIPS architecture,
but nowadays, Linux provides a
.BR cacheflush ()
system call on some other architectures, but with different arguments.
.SH NOTES
Unless you need the finer grained control that this system call provides,
you probably want to use the GCC built-in function
.BR __builtin___clear_cache (),
which provides a portable interface
across platforms supported by GCC and compatible compilers:
.PP
.in +4n
.EX
.BI "void __builtin___clear_cache(void *" begin ", void *" end );
.EE
.in
.PP
On platforms that don't require instruction cache flushes,
.BR __builtin___clear_cache ()
has no effect.
.PP
.IR Note :
On some GCC-compatible compilers,
the prototype for this built-in function uses
.I char *
instead of
.I void *
for the parameters.
.SH BUGS
Linux kernels older than version 2.6.11 ignore the
.I addr