ИМЯ
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 [AT] perm.ru> 2003