aboutsummaryrefslogtreecommitdiffstats
path: root/man/man2/cacheflush.2
diff options
context:
space:
mode:
authorAlejandro Colomar <alx.manpages@gmail.com>2022-09-09 14:15:08 +0200
committerAlejandro Colomar <alx.manpages@gmail.com>2022-09-09 14:15:08 +0200
commit96e72ec1fbadd13cbcbc2b263540e4f5e9e09d7c (patch)
tree70686b943e33a6e939ad265acb7ddfef70b91f32 /man/man2/cacheflush.2
parent8f4ed6463206e8ede815c72085c7305dafc2e4fc (diff)
downloadman-pages-96e72ec1fbadd13cbcbc2b263540e4f5e9e09d7c.tar.gz
Revert "src.mk, All pages: Move man* to man/"
This reverts commit 70ac1c4785fc1e158ab2349a962dba2526bf4fbc. Link: <https://lore.kernel.org/linux-man/YxcV4h+Xn7cd6+q2@pevik/T/> Reported-by: Petr Vorel <pvorel@suse.cz> Reported-by: Jakub Wilk <jwilk@jwilk.net> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
Diffstat (limited to 'man/man2/cacheflush.2')
-rw-r--r--man/man2/cacheflush.2144
1 files changed, 0 insertions, 144 deletions
diff --git a/man/man2/cacheflush.2 b/man/man2/cacheflush.2
deleted file mode 100644
index 1f081caa44..0000000000
--- a/man/man2/cacheflush.2
+++ /dev/null
@@ -1,144 +0,0 @@
-.\" Written by Ralf Baechle (ralf@waldorf-gmbh.de),
-.\" Copyright (c) 1994, 1995 Waldorf GMBH
-.\"
-.\" SPDX-License-Identifier: GPL-2.0-or-later
-.\"
-.TH CACHEFLUSH 2 2021-03-22 "Linux man-pages (unreleased)"
-.SH NAME
-cacheflush \- flush contents of instruction and/or data cache
-.SH LIBRARY
-Standard C library
-.RI ( libc ", " \-lc )
-.SH SYNOPSIS
-.nf
-.B #include <sys/cachectl.h>
-.PP
-.BI "int cacheflush(void *" addr ", int "nbytes ", int "cache );
-.fi
-.PP
-.IR Note :
-On some architectures,
-there is no glibc wrapper for this system call; see NOTES.
-.SH DESCRIPTION
-.BR cacheflush ()
-flushes the contents of the indicated cache(s) for the
-user addresses in the range
-.I addr
-to
-.IR (addr+nbytes\-1) .
-.I cache
-may be one of:
-.TP
-.B ICACHE
-Flush the instruction cache.
-.TP
-.B DCACHE
-Write back to memory and invalidate the affected valid cache lines.
-.TP
-.B BCACHE
-Same as
-.BR (ICACHE|DCACHE) .
-.SH RETURN VALUE
-.BR cacheflush ()
-returns 0 on success.
-On error, it returns \-1 and sets
-.I errno
-to indicate the error.
-.SH ERRORS
-.TP
-.B EFAULT
-Some or all of the address range
-.I addr
-to
-.I (addr+nbytes\-1)
-is not accessible.
-.TP
-.B EINVAL
-.I cache
-is not one of
-.BR ICACHE ,
-.BR DCACHE ,
-or
-.B BCACHE
-(but see BUGS).
-.SH STANDARDS
-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.
-.SS Caveat
-.BR cacheflush ()
-should not be used in programs intended to be portable.
-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
-.SS Architecture-specific variants
-Glibc provides a wrapper for this system call,
-with the prototype shown in SYNOPSIS,
-for the following architectures:
-ARC, CSKY, MIPS, and NIOS2.
-.PP
-On some other architectures,
-Linux provides this system call, with different arguments:
-.TP
-M68K:
-.nf
-.BI "int cacheflush(unsigned long " addr ", int " scope ", int " cache ,
-.BI " unsigned long " len );
-.fi
-.TP
-SH:
-.nf
-.BI "int cacheflush(unsigned long " addr ", unsigned long " len ", int " op );
-.fi
-.TP
-NDS32:
-.nf
-.BI "int cacheflush(unsigned int " start ", unsigned int " end ", int " cache );
-.fi
-.PP
-On the above architectures,
-glibc does not provide a wrapper for this system call; call it using
-.BR syscall (2).
-.SS GCC alternative
-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
-and
-.I nbytes
-arguments, making this function fairly expensive.
-Therefore, the whole cache is always flushed.
-.PP
-This function always behaves as if
-.B BCACHE
-has been passed for the
-.I cache
-argument and does not do any error checking on the
-.I cache
-argument.