CACHEFLUSH(2)

NAZWA
cacheflush - wypróżnienie zawartości bufora podręcznego z instrukcjami i/lub z danymi

SKŁADNIA
#include <asm/cachectl.h>

int cacheflush(char *addr, int nbytes, int cache);

OPIS
cacheflush wypróżnia zawartość wskazanego(-ych) bufora(-ów) podręcznego(-ych) dla adresów przestrzeni użytkownika w zakresie od addr do (addr+nbytes-1). Parametr cache może być jednym z:

ICACHE
    Wypróżnia bufor z instrukcjami.

DCACHE
    Zapisuje z powrotem do pamięci i unieważnia dotknięte tym prawidłowe linie buforowe.

BCACHE
    Identyczne z (ICACHE|DCACHE).

WARTOŚĆ ZWRACANA
cacheflush() zwraca 0 po pomyślnym zakończeniu, a -1 w wypadku błędu. Jeśli wystąpi błąd, errno będzie wskazywać jego rodzaj.

BŁĘDY

EFAULT
    Część lub cała przestrzeń od addr do (addr+nbytes-1) jest niedostępna.

EINVAL
    cache is not one of ICACHE, DCACHE, or BCACHE (but see BUGS).

ZGODNE Z
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.

  Caveat
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 cacheflush() system call on some other architectures, but with different arguments.

BŁĘDY
Linux kernels older than version 2.6.11 ignore the addr and nbytes arguments, making this function fairly expensive. Therefore, the whole cache is always flushed.

This function always behaves as if BCACHE has been passed for the cache argument and does not do any error checking on the cache argument.

O STRONIE
Angielska wersja tej strony pochodzi z wydania 5.08 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl> i Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres <manpages-pl-list@lists.sourceforge.net>.