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)