CACHEFLUSH(2)

ИМЯ
cacheflush - выталкивает содержимое кэша инструкций и/или данных

ОБЗОР
#include <asm/cachectl.h>

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

ОПИСАНИЕ
cacheflush() выталкивает содержимое указанного кэша(ей) обратно в пользовательское адресное пространство в диапазоне с addr по (addr+nbytes-1). Параметр cache может принимать одно из значений:

ICACHE
    Выталкивает кэш инструкций.

DCACHE
    Записать обратно в память и объявить недействительными задетые достоверные строки кэша.

BCACHE
    Тоже что и (ICACHE|DCACHE).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном завершении cacheflush() возвращает 0 или -1 при ошибке. Если обнаружены ошибки, то errno будет содержать номер ошибки.

ОШИБКИ

EFAULT
    Некоторая часть или весь диапазон адресов с addr по (addr+nbytes-1) недоступен.

EINVAL
    Значение cache не равно ICACHE, DCACHE или BCACHE.

СООТВЕТСТВИЕ СТАНДАРТАМ
Данный системный вызов есть только в Linux и доступен только в системах на основе MIPS. Он не должен использоваться в переносимых программах.

ДЕФЕКТЫ
Текущая реализация игнорирует аргументы addr и nbytes. Таким образом, кэш всегда выталкивается полностью.