CACHEFLUSH(2)

BEZEICHNUNG
cacheflush - Befehls- und Datencaches entleeren

ÜUBERSICHT
#include <asm/cachectl.h>

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

BESCHREIBUNG
Cacheflush schreibt den als Argument angegebenen Benutzeradressbereich addr bis (addr+nbytes-1) aus den Caches in den Speicher zurück und invalidiert die betroffenen Cachelines anschließend. Cache ist eine der folgenden Konstanten:

ICACHE
    Befehlscache invalidieren.

DCACHE
    Den Datencache zurück in den Speicher schreiben und die betroffenen Cachelines invalidieren.

BCACHE
    Identisch mit (ICACHE|DCACHE).

RÜCKGABEWERT
cacheflush gibt 0 bei Erfolg oder -1 im Fehlerfall zurück. Sollten Fehler erkannt werden, enthält errno die Fehlernummer.

FEHLER

EINVAL
    Der cache Parameter ist nicht ICACHE, DCACHE, oder BCACHE.

EFAULT
    Der Adressbereich addr bis (addr+nbytes-1) ist ganz oder teilweise nicht adressierbar.

FEHLER
Die aktuelle Implementation ignoriert die addr und nbytes Parameter. Stattdessen wird immer der gesamte Cache geflusht.

BEMERKUNGEN
Dieser Systemaufruf ist nur auf MIPS-basierten Systemen verfügbar.