cacheflush - функция, сбрасывающая содержимое инструкций и/или данные кэша
НАЗВАНИЕcacheflush - функция, сбрасывающая содержимое инструкций
и/или данные кэша
СИНТАКСИС
#include
int cacheflush(char *addr, int nbytes, int cache);
ОПИСАНИЕ
cacheflush сбрасывает содержимое указанного кэша (кэшей)
на адрес пользователя в диапазоне от значения addr до
addr+количество байтов-1 (addr+nbytes-1). Сброс кэша может
быть следующих типов:
ICACHE (сбрасывет инструкции кэша);
DCACHE (записывает в память содержимое, таким образом, оно
теряет свое значение);
BCACHE (то же, что и (ICACHE|DCACHE)).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
cacheflush при удачной работе возвращаемое значение равно
0, а при ошибке возвращается -1. Если произойдут ошибки,
то переменной errno будет присвоено значение, указывающее
на их тип.
КОДЫ ОШИБОК
EINVAL (параметры кэша не являются одними из ICACHE,
DCACHE, или BCACHE);
EFAULT некоторые или все адреса из промежутка от addr до
addr+количество байтов-1 (addr+nbytes-1)
недоступны.
НАЙДЕННЫЕ ОШИБКИ
Текущее приложение не идентифицирует параметры addr и
nbytes. Поэтому всегда очищается весь кэш.
ЗАМЕЧАНИЕ
Этот системный вызов доступен лишь машинам, основанным на
MIPS. Не рекомендуется его использовать в программах,
созданных на других платформах.