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 будет установлено соответствующим образом.

ОШИБКИ

EINVAL
    параметр cache не является одним из ICACHE, DCACHE или BCACHE.

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

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

ЗАМЕЧАНИЕ
Этот системный вызов доступен только на системах, основанных на MIPS (на MIPS платформе). Он не должен использоватьсяв программах, которые задумываются как переносимые.

ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003