mirror of https://github.com/mkerrisk/man-pages
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:
parent
ce0efb4382
commit
d7e7ab0e34
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue