cacheflush(2) vacía el contenido de la caché de instrucciones y/o datos

SINOPSIS

#include <asm/cachectl.h>


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

DESCRIPCIÓN

cacheflush vacía el contenido de la(s) caché(s) indicada(s) por las direcciones de usuario en el rango addr a (addr+nbytes-1). cache puede ser uno de los siguientes valores:
ICACHE
Purga la caché de instrucciones.
DCACHE
Escribe en memoria e invalida las líneas de caché válidas afectadas.
BCACHE
Igual que (ICACHE|DCACHE).

VALOR DEVUELTO

cacheflush devuelve 0 si finaliza con éxito o -1 en caso de error. Si se detectan errores, la variable errno indicará el tipo de error.

ERRORES

EINVAL
El parámetro cache no es ninguno de los valores aceptados ICACHE, DCACHE, o BCACHE.
EFAULT
Todo o parte del rango de direcciones de addr a (addr+nbytes-1) no es accesible.

FALLOS

La implementación actual ignora los parámetros addr y nbytes. Por lo tanto siempre se vacía toda la caché.

NOTA

Esta llamada del sistema sólo está disponible en sistemas basados en MIPS. No debería ser usada en programas que pretendan ser portables.