ÜBERSICHT
#include <asm/cachectl.h>
int cacheflush(char *addr, int nbytes, int cache);
BESCHREIBUNG
cacheflush() schreibt den Inhalt der angegebenen Cache(s) für den Benutzeradressbereich addr bis (addr+nbytes-1) in den Speicher zurück. cache ist eine der folgenden Konstanten:- ICACHE
- den Befehlscache freigeben
- DCACHE
- zurück in den Speicher schreiben und die betroffenen Bereiche des Caches für ungültig erklären, also freigeben.
- BCACHE
- identisch mit (ICACHE|DCACHE)
RÜCKGABEWERT
cacheflush() gibt 0 bei Erfolg oder -1 im Fehlerfall zurück. Sollten Fehler erkannt werden, ist der Fehler in errno kodiert.FEHLER
- EFAULT
- Auf den Adressbereich von addr bis (addr+nbytes-1) kann (ganz oder teilweise) nicht zugegriffen werden.
- EINVAL
- Dem Parameter cache ist keiner der Werte ICACHE, DCACHE oder BCACHE zugewiesen (siehe aber auch FEHLER).
KONFORM ZU
Historisch war dieser Systemaufruf auf allen MIPS-UNIX-Varianten, inklusive RISC/os, IRIX, Ultrix, NetBSD, OpenBSD und FreeBSD (und auf einigen nicht-UNIX-MIPS-Betriebssystemen) verfügbar, so dass die Existenz dieses Aufrufs in MIPS-Betriebssystemen der defakto Standard ist.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.FEHLER
Linux Kernel älter als Version 2.6.11 ignorieren die Argumente addr und nbytes. Dadurch wird die Funktion relativ teuer. Daher wird immer der ganze Cache freigegeben.Die Funktion verhält sich immer so, als ob BCACHE als Argument für cache übergeben worden wäre und führt keine Fehlerprüfung auf dem Argument cache durch.
KOLOPHON
Diese Seite ist Teil der Veröffentlichung 4.06 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Ralf Baechle <[email protected]> und Martin Eberhard Schauer <[email protected]> erstellt.Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <[email protected]>.