NOMBRE¶
cacheflush - 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.
VÉASE TAMBIÉN¶
cachectl(2)