sourCEntral - mobile manpages

pdf

CACHEFLUSH

BEZEICHNUNG

cacheflush − Befehls- und Datencaches entleeren

ÜBERSICHT

#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.

pdf