diff options
| author | Alejandro Colomar <alx.manpages@gmail.com> | 2022-09-09 14:15:08 +0200 |
|---|---|---|
| committer | Alejandro Colomar <alx.manpages@gmail.com> | 2022-09-09 14:15:08 +0200 |
| commit | 96e72ec1fbadd13cbcbc2b263540e4f5e9e09d7c (patch) | |
| tree | 70686b943e33a6e939ad265acb7ddfef70b91f32 /man/man2/cacheflush.2 | |
| parent | 8f4ed6463206e8ede815c72085c7305dafc2e4fc (diff) | |
| download | man-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.2 | 144 |
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. |
